2

エクスポート用にデータを変換しています。

このファイルには、データがドルではなくセントで表示されます。

したがって、1234.56は123456として印刷する必要があります

それを行う方法はありstring.Formatますか?

それとも、100を掛ける唯一の解決策ですか?

4

4 に答える 4

3

string.Replace( "。"、string.empty)を使用できます。しかし、それは正確にローカライズされていません。「、」をチェックする場合は、国際通貨も追加できます。しかし、それは私がすることです。

[編集]

また、これを見つけました:http: //msdn.microsoft.com/en-us/library/dwhawy9k.aspx

「N」数値指定子を使用すると、整数部分と小数部分を区切るために使用される記号を変更できます。

<code>

decimal num = 123.456m;
NumberFormatInfo ci = CultureInfo.CurrentCulture.NumberFormat;
ci.CurrencyDecimalSeparator = " "; // You can't use string.Empty here, as it throws an exception.
string str = num.ToString("N", ci).Replace(" ", string.Empty);

</code>

そのようなものでうまくいくはずで、ローカライズされています!

于 2013-03-18T20:37:57.973 に答える
2

これはレンダリングの問題です。確かにセントを取得するために100を掛けることは仕事をします。

米国では、小数点を使用してドルとセントを区別しています。しかし、すべての国がそうしているわけではありません。「100を掛ける」ソリューションは、単一の全体を表すために100の小数単位を使用する通貨に対してのみ正しいです。(日本では円ではありません。)

于 2013-03-18T20:42:50.447 に答える
0

値が常に小数点以下2桁になることがわかっている場合は、これを行うのは非常に簡単です。

var strVar = 1234.56;
var somevalues   = string.Format("{0:######}", strVar * 100);

output = 123456

于 2013-03-18T20:46:00.610 に答える
0

それがとても単純な場合は、String.Replace('.','');

于 2013-03-18T20:39:16.900 に答える