0

私はいくつかの調査を行いましたが、それを見つけることができません。

float 値と .ToString() を NumberFormatInfo と共に使用して、GLSL ソース コードを作成しています。

しかし、NFI は 1.0 を "1.0" ではなく "1" に変換します。これにより、GLSL コードで整数が生成され、グラフィックカードが暗黙的な整数変換について泣くようになります。

ToString() は国の標準の小数点区切り記号を使用するため、NFI なしでは使用できません。したがって、ドイツでは、これは 1.5 => "1,5" になります。

末尾のゼロを削除しないように NFI を取得するにはどうすればよいですか?

4

3 に答える 3

3

これはトリックにすべきです:

 .ToString("0.0###############")

小数を減らしたい場合は、を削除します( 16桁#の精度に十分な小数を入れました)double

または、カルチャを指定する必要がある場合は、

 .ToString("0.0###############", yourCulture)
于 2013-08-11T09:38:08.053 に答える
0

NumberFormatInfo.NumberDecimalDigits表示するゼロの数を設定できます。次に、このコードで番号を表示できます。

var nfi = new CultureInfo("en-us").NumberFormat;
nfi.NumberDecimalDigits = 2;
//outputs 1.00
1.ToString("N", nfi);
于 2013-08-11T09:38:31.283 に答える
-1

これでうまくいくはずです:

ToString("0.0");
于 2013-08-11T09:36:42.280 に答える