Movable Typeでカスタムフィールドを使って入力した面積(平方メートル)を坪表示にしたい場合のコードの書き方。
普通に書くとこんな感じかな。
<mt:SetVarBlock name="menseki"><$MTカスタムフィールドタグ
gt;</mt:SetVarBlock> <MTIf name="menseki" ne="0"> <mt:SetVarBlock name="menseki"><$MTVar name="menseki" value="0.3025" op="*"
gt;</mt:SetVarBlock> <P><$MTカスタムフィールドタグ numify="1"
gt;㎡(<MTGetVar name="menseki" sprintf="%.2f" numify=",">坪)</P> </MTIf>
これだと小数点以下2桁表示で3桁目以降は四捨五入のような感じ。
本当に四捨五入なのか不明。
計算結果を見比べると四捨五入のような気がします。
でも、計算結果は切り捨てにしたい。
<mt:SetVarBlock name="menseki"><$MTカスタムフィールドタグ
gt;</mt:SetVarBlock> <MTIf name="menseki" ne="0"> <mt:SetVarBlock name="menseki"><$MTVar name="menseki" value="0.3025" op="*"
gt;</mt:SetVarBlock> <mt:GetVar name="menseki" regex_replace="/(\d*)(\.\d{2})(\d*)/","$1$2" setvar="menseki"> <P><$MTカスタムフィールドタグ numify="1"
gt;㎡(<MTGetVar name="menseki" numify=",">坪)</P> </MTIf>
これだと小数点3桁以降切り捨てされます。
もっと綺麗に書けるのかもしれませんが、素人はここまでが精一杯。
コメント