タイプ Long の変数があります。
long quantity=1000;
グリッドのように表示したい1,000
(コンマが必要です)
どうすればこれを達成できますか?
私は Telerik Grid を使用しており、次のようにデータをバインドしています。
columns.Bound(tempProductList => tempProductList.tempProductListQuantity) .Title("Quantity")
タイプ Long の変数があります。
long quantity=1000;
グリッドのように表示したい1,000
(コンマが必要です)
どうすればこれを達成できますか?
私は Telerik Grid を使用しており、次のようにデータをバインドしています。
columns.Bound(tempProductList => tempProductList.tempProductListQuantity) .Title("Quantity")
ここには、すべての標準数値形式のリストがあります。「N」はあなたが望むものだと思います。
long l = 1234;
string s = l.ToString("N0"); //gives "1,234"
フォーマット指定子の後の「0」は、目的の小数点以下の桁数です (通常、デフォルトでは 2 です)。
このバージョンは文化に依存することに注意してください。つまり、私の国ではドット (".") を 1000 区切りとして使用するため、実際の戻り値は "1,234" ではなく "1.234" になります。これが望ましい動作である場合はそのままにしておきますが、常にコンマを使用する必要がある場合は、次のようにToStringメソッドのパラメーターとしてカルチャを指定する必要があります。
l.ToString("N0", CultureInfo.InvariantCulture); //always return "1,234"
国際的な観点を考慮したい場合は、小数点以下の前に常にコンマがあるとは限りません。ToString 関数を使用すると、必要なものが得られます。
(1000.0).ToString("N",new CultureInfo("en-US")) = 1,000.00
(1000.0).ToString("N",new CultureInfo("IS")) = 1.000,00
桁区切り記号を指定できるカスタム カルチャを作成できます。
この記事から:
//Create first the format provider the String.Format
//will use to format our string
CultureInfo cultureToUse = new CultureInfo("fi-FI");
Console.WriteLine("Using the following CultureInfor " +
cultureToUse.Name);
//Now practice some decimal numbers
//Here we override the culture specific formattings
cultureToUse.NumberFormat.CurrencyDecimalDigits = 3;
cultureToUse.NumberFormat.NumberDecimalDigits = 3;
cultureToUse.NumberFormat.NumberGroupSeparator = " ";
cultureToUse.NumberFormat.CurrencySymbol = "euro";
cultureToUse.NumberFormat.NumberDecimalSeparator = ",";
次に、数値をフォーマットするときにこのカルチャを使用する必要があります。手動で書式設定を行うこともできますが、カルチャを現在のスレッドの Current(UI)Culture プロパティに割り当てることもできます。