エクスポート用にデータを変換しています。
このファイルには、データがドルではなくセントで表示されます。
したがって、1234.56は123456として印刷する必要があります
それを行う方法はありstring.Format
ますか?
それとも、100を掛ける唯一の解決策ですか?
エクスポート用にデータを変換しています。
このファイルには、データがドルではなくセントで表示されます。
したがって、1234.56は123456として印刷する必要があります
それを行う方法はありstring.Format
ますか?
それとも、100を掛ける唯一の解決策ですか?
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>
そのようなものでうまくいくはずで、ローカライズされています!
これはレンダリングの問題です。確かにセントを取得するために100を掛けることは仕事をします。
米国では、小数点を使用してドルとセントを区別しています。しかし、すべての国がそうしているわけではありません。「100を掛ける」ソリューションは、単一の全体を表すために100の小数単位を使用する通貨に対してのみ正しいです。(日本では円ではありません。)
値が常に小数点以下2桁になることがわかっている場合は、これを行うのは非常に簡単です。
var strVar = 1234.56;
var somevalues = string.Format("{0:######}", strVar * 100);
output = 123456
それがとても単純な場合は、String.Replace('.','');