(MT)切り捨て、切り上げ、四捨五入とか。

| コメント(0) | トラックバック(0)

税抜き価格から税込み価格を算出して、切り捨て、切り上げ、四捨五入して、3桁ごとにカンマ入れて出力する...ってどうやるの?

<p>四捨五入</p>
<MTSetVarBlock name="RoundValue">

<SCRIPTlanguage="JavaScript">
<!--
document.write(Math.round(4.321));
//-->
</SCRIPT>
</MTSetVarBlock>
<MTGetVar name="RoundValue">

ううむ...JavaScriptなのか?

ううむ...プラグインなのか? (今回はダイナミックパブリッシングなんだよ...)

面倒くさいのは面倒くさいけどできないこともないよーな気がしてさ。

例:entrypriceというカスタムフィールドを作って税抜き価格(数字)を入れておいて、税込み価格計算して切り捨て、切り上げ(小数点以下1桁)、四捨五入して3桁ごとにカンマ入れて出力する。

<mt:setvarblock name="price"><mt:entryprice></mt:setvarblock>

税抜価格: <$mt:var name="price" numify=","$> 円<br />

<mt:setvarblock name="price"><$mt:var
 name="price" value="1.05" op="*"$></mt:setvarblock>

税込価格: <$mt:var name="price" numify=","$> 円<br />

<mt:setvarblock
 name="one_tenth"><$mt:var name="price"
 regex_replace="/^[0-9]*¥.(.).*$/","$1"$></mt:setvarblock>

<mt:setvarblock name="price"><$mt:var
 name="price" regex_replace="/¥..*/",""$></mt:setvarblock>

切り捨て: <$mt:var name="price" numify=","$> 円<br />

切り上げ:
<mt:if name="one_tenth" ne="$price">
    <mt:if name="one_tenth" gt="0">
        <$mt:var name="price" op="+" value="1" numify=","$>
    <mt:else>
        <$mt:var name="price" numify=","$>
    </mt:else>
    </mt:if>
<mt:else>
    <$mt:var name="price" numify=","$>
</mt:else>
</mt:if>
円
<br />

四捨五入:
<mt:if name="one_tenth" ne="$price">
    <mt:if name="one_tenth" gt="4">
        <$mt:var name="price" op="+" value="1" numify=","$>
    <mt:else>
        <$mt:var name="price" numify=","$>
    </mt:else>
    </mt:if>
<mt:else>
    <$mt:var name="price" numify=","$>
</mt:else>
</mt:if>
円

トラックバック(0)

トラックバックURL: http://junnama.alfasado.net/cgi/mt/mt-tb.cgi/58

コメントする

Facebook

Twitter

このブログ記事について

このページは、Junnama Nodaが2008年11月 3日 14:47に書いたブログ記事です。

ひとつ前のブログ記事は「MT::Objectで'like'を使った検索や絞り込みを行う。」です。

次のブログ記事は「MTCSの拡張とか。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.2.6