(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/mt5/mt-tb.cgi/58

コメントする

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.04

このブログ記事について

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

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

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

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