(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発した新作VRソフトです!


小数の桁数を指定して文字列にする際に右端を0にしない方法【C#】


このエントリーをはてなブックマークに追加


はじめに

C#で小数を含んだ値を文字列にする場合、以下のように簡単に桁数を指定する事が出来ますが、

(※Unity上で動かしているので、ログの表示にDebug.Logを使っています。)

//てきとうな小数点を含んだ値
float value = 0.123456789f;

//小数点を3桁目まで文字列化
Debug.Log(value.ToString($"F3"));

//↓みたいな形でも可
//Debug.Log($"{value:F3}");
f:id:kan_kikuchi:20211006114323j:plain


指定した桁数に足りない場合は自動で0が追加されてしまいます。

//てきとうな小数点を含んだ値
float value = 0.1f;

//小数点を3桁目まで文字列化(1桁しかないので0が2つ足される)
Debug.Log(value.ToString($"F3"));
f:id:kan_kikuchi:20211006114406j:plain


桁数を揃えたい場合はこれで問題ないですが、意味のない0を表示したくない場合もあります。

そんな時はTrimEndを使うと簡単に右端の0を消す事が出来ます。

//てきとうな小数点を含んだ値
float value = 0.123456789f;

//小数点を3桁目まで文字列化
Debug.Log(value.ToString($"F3"));

//別のてきとうな小数点を含んだ値
value = 0.1f;

//小数点を3桁目まで文字列化するが、右端の0は削除
Debug.Log(value.ToString($"F3").TrimEnd('0'));
f:id:kan_kikuchi:20211006120237j:plain


余談ですが、逆に0を追加したい場合はPadLeftやPadRightが使えます。





参考