グループ区切り文字や小数を含まない文字列に変換する小数をフォーマットするにはどうすればよいですか?
例:「1,234.56」は「1234」と表示されます。
これはほぼ機能しますが、切り上げます。
Decimal d = 1234.56M;
string s = string.Format("{0:0}", d);
Console.WriteLine(s);
出力:1235
@Jon Skeetが提案したように、整数型にキャストできます(最大の10進値を保持するのに十分な大きさであると想定)。
Decimal d = 1234.56M;
string s = string.Format("{0}", (long)d);
Console.WriteLine(s);
出力:1234
デモ: http: //ideone.com/U4dcZD
キャストだけが使えない理由がわかりませんでした。Intはコンマ(、)を表示しないと思います。しかしとにかく、これはトリックを行う必要があります:
float n = 1234.78f;
int i = (int)n;
String str = i.ToString();
while (str.IndexOf(",",0) >= 0 )
str = str.Remove(str.IndexOf(",", 0), 1);