(MT)切り捨て、切り上げ、四捨五入とか。
公開日 : 2008-11-03 14:47:59
税抜き価格から税込み価格を算出して、切り捨て、切り上げ、四捨五入して、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>
円