b81 様
こんにちは
もっとスマートな方法があるような気がしますので、こんなアイディアもあるということでお願いいたします。
発想としては、数値をテキストにしてしまえば何とかなるというものです。
例えば小数点以下2桁を有効数字として数値をテキストに変換したい場合は、フィールド計算機で次のように処理します。
CASE
WHEN strpos("対象フィールド" ,'.') = 0 THEN "対象フィールド" || '.00'
WHEN length("2") - strpos("対象フィールド" ,'.') = 1 THEN "対象フィールド" || '0'
WHEN length("2") - strpos("対象フィールド" ,'.') = 2 THEN "対象フィールド"
END
strposで小数点より前の文字数を取得し、lengthで全体の文字数を取得します。
これらの差を条件として、適宜、末尾へゼロを追加します。
なお小数点以下はすべてゼロの場合、strposでは「0」を返してきますので、最初にこれを判定するようにしました
2023年6月28日水曜日 11:16:50 UTC+9 b81: