我試圖將一個double格式化爲包含數千個分隔符和所有德文數字格式的尾隨小數的字符串格式。但我無法實現它(我真的很愚蠢?)。在c中添加千位分隔符以加倍#
我想是這樣的:
Input: double doubleVal = 123456.789;
Output: 123.456,789
我已經使用NumberFormats和其他的東西,但我沒有得到我想要的東西。有人可以幫忙嗎?
我試圖將一個double格式化爲包含數千個分隔符和所有德文數字格式的尾隨小數的字符串格式。但我無法實現它(我真的很愚蠢?)。在c中添加千位分隔符以加倍#
我想是這樣的:
Input: double doubleVal = 123456.789;
Output: 123.456,789
我已經使用NumberFormats和其他的東西,但我沒有得到我想要的東西。有人可以幫忙嗎?
我期望你應該能夠做到這一點的:
string text = value.ToString("N");
...指定德國文化,如果它不是線程的當前文化。
樣品:
using System;
using System.Globalization;
class Test
{
static void Main()
{
double d = 123456.789;
CultureInfo culture = CultureInfo.CreateSpecificCulture("de-DE");
Console.WriteLine(d.ToString("N3", culture)); // 123.456,789
}
}
注意,3指定的小數點後的位數。
只需使用自定義格式字符串: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
使用此:
string s = String.Format("{0:0,0.000}", 123456.789);
這不是逗號爲所需成千上萬,但小數點作爲千位分隔符,然後將逗號分隔小數點後的整數值 - 德國數字格式 – kaj 2012-03-20 08:31:41
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
double d = 123456.789;
CultureInfo ci = new CultureInfo("de-DE");
Console.WriteLine(d.ToString("N",ci));
Console.ReadLine();
}
}
}
如果你正在構建的東西,有些用戶會使用你應該考慮使用默認系統設置小數格式 – 2012-03-20 08:22:00