MTで平方メートルから坪数を計算して表示

Movable Typeでカスタムフィールドを使って入力した面積(平方メートル)を坪表示にしたい場合のコードの書き方。

普通に書くとこんな感じかな。

<mt:SetVarBlock name="menseki"><$MTカスタムフィールドタグ$></mt:SetVarBlock>
<MTIf name="menseki" ne="0">
<mt:SetVarBlock name="menseki"><$MTVar name="menseki" value="0.3025" op="*"$></mt:SetVarBlock>
<P><$MTカスタムフィールドタグ numify="1"$>㎡(<MTGetVar name="menseki" sprintf="%.2f" numify=",">坪)</P>
</MTIf>

これだと小数点以下2桁表示で3桁目以降は四捨五入のような感じ。
本当に四捨五入なのか不明。
計算結果を見比べると四捨五入のような気がします。

でも、計算結果は切り捨てにしたい。

<mt:SetVarBlock name="menseki"><$MTカスタムフィールドタグ$></mt:SetVarBlock>
<MTIf name="menseki" ne="0">
<mt:SetVarBlock name="menseki"><$MTVar name="menseki" value="0.3025" op="*"$></mt:SetVarBlock>
<mt:GetVar name="menseki" regex_replace="/(\d*)(\.\d{2})(\d*)/","$1$2" setvar="menseki">
<P><$MTカスタムフィールドタグ numify="1"$>㎡(<MTGetVar name="menseki" numify=",">坪)</P>
</MTIf>

これだと小数点3桁以降切り捨てされます。
もっと綺麗に書けるのかもしれませんが、素人はここまでが精一杯。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です