小数点なしのダブルフォーマット
質問
私は+ 4進10桁のダブル変換するためにきました。
そう言ってみましょう: 私は二重の999,56を持っています。私は00000009995600を取得するためにきました! - >コンマなし
私は何を持っていることはあります:
String.Formatの( "{0:0000000000.0000}"、値)は、私が取得されます。 0000000999,5600
ので、私が今できることは、コンマを検索し、それを削除することですが、私は、この特定の形式でのフォーマットの別の「クリーン」な方法があるかどうかを知りたい?
ありがとうございます。
解決
あなたはString.Replace
を避けたいと述べているのでます:
// avoid whacked out cultures
double value = 999.56m;
CultureInfo info = CultureInfo.GetCultureInfo("en-US");
string s = (10000 * value).ToString("00000000000000", info));
Console.WriteLine(s); // displays "00000009995600"
しかし、実際に、それと間違って何もありません。
double value = 999.56m;
CultureInfo info = CultureInfo.GetCultureInfo("en-US");
string s = value.ToString("0000000000.0000", info).Replace(
info.NumberFormat.NumberDecimalSeparator,
String.Empty)
Console.WriteLine(s); // displays "00000009995600"
他のヒント
string.Format("{0:00000000000000}", value * 10000)
:私は、他の「単純な」方法がないと思いますので、
まあ、私は交換してください()メソッドを使用します。
ここでは、ほとんどのジェイソンの答えと同じである私の解決策であります
string sep = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
Console.WriteLine(String.Format(fromt, testvalue).Replace(sep, ""));
ありがとうございます。
double val = 12345.6789;
return val.ToString().Split('.')[0];
あなたがしたくない(またはすることはできません)、その後掛けた場合、これは動作する可能性があります:
string newValue = value.Replace(",", "");
所属していません StackOverflow