Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET双格式字符串:如何获取完整小数和千位分隔符?_.net_String_Format String - Fatal编程技术网

.NET双格式字符串:如何获取完整小数和千位分隔符?

.NET双格式字符串:如何获取完整小数和千位分隔符?,.net,string,format-string,.net,String,Format String,我有一个Double值,需要找到格式字符串,该字符串使用Double值的小数位数以及千位分隔符来转换该值 例如,假设我的值为1000000.1256。如果我不使用任何格式字符串,则默认字符串具有全小数(四位数),但没有千位分隔符(1000000.1256)。如果使用标准格式字符串“N”,则输出为1000000.13,即默认情况下使用2位小数并进行舍入。但我不希望它执行任何舍入,我希望显示1000000.1256。请注意,我不知道这个数字有多少个小数,这就是为什么我说我要显示“完整”的小数,而不是

我有一个
Double
值,需要找到格式字符串,该字符串使用Double值的小数位数以及千位分隔符来转换该值


例如,假设我的值为1000000.1256。如果我不使用任何格式字符串,则默认字符串具有全小数(四位数),但没有千位分隔符(
1000000.1256
)。如果使用标准格式字符串“N”,则输出为
1000000.13
,即默认情况下使用2位小数并进行舍入。但我不希望它执行任何舍入,我希望显示
1000000.1256
。请注意,我不知道这个数字有多少个小数,这就是为什么我说我要显示“完整”的小数,而不是2、4或任何其他更大的小数。我知道我可以用自定义字符串:“#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、#、。但这是唯一/最好的方法吗?

我认为您可能需要执行额外的字符串操作。也许这不是一种优雅的方式,但我仍然认为它能满足你的需要

        double number = 1000000.1256;

        string numberStr = number.ToString();
        string[] arr = numberStr.Split(',');//my cultureInfo is Turkish so I used ','

        string result = Int64.Parse(arr[0]).ToString("0,00", System.Globalization.CultureInfo.InvariantCulture) + "." + arr[1];

结果:1000000.1256

我认为您可能需要执行额外的字符串操作。也许这不是一种优雅的方式,但我仍然认为它能满足你的需要

        double number = 1000000.1256;

        string numberStr = number.ToString();
        string[] arr = numberStr.Split(',');//my cultureInfo is Turkish so I used ','

        string result = Int64.Parse(arr[0]).ToString("0,00", System.Globalization.CultureInfo.InvariantCulture) + "." + arr[1];

结果:1000000.1256

我认为您可能需要执行额外的字符串操作。也许这不是一种优雅的方式,但我仍然认为它能满足你的需要

        double number = 1000000.1256;

        string numberStr = number.ToString();
        string[] arr = numberStr.Split(',');//my cultureInfo is Turkish so I used ','

        string result = Int64.Parse(arr[0]).ToString("0,00", System.Globalization.CultureInfo.InvariantCulture) + "." + arr[1];

结果:1000000.1256

我认为您可能需要执行额外的字符串操作。也许这不是一种优雅的方式,但我仍然认为它能满足你的需要

        double number = 1000000.1256;

        string numberStr = number.ToString();
        string[] arr = numberStr.Split(',');//my cultureInfo is Turkish so I used ','

        string result = Int64.Parse(arr[0]).ToString("0,00", System.Globalization.CultureInfo.InvariantCulture) + "." + arr[1];
结果:1000000.1256

完全小数的概念是荒谬的。10.0/3.0有多少个整数?有无限多的数字是理性的,但不是“完美的”。计算机会让情况变得更糟,它用两个手指而不是十个手指进行数学运算,将0.1这样的值变成一个具有无限位数的数字

为了人类的利益,您正在将数字转换为字符串。人类对无限位数的字符串不感兴趣,他们倾向于在7之后退出。当变量的类型为double时,显示超过15是没有用的,超过15的任何数字都是随机噪声。计算机无法存储无限多个数字的不可避免的副作用

首先创建一个可用的用户界面。如果你不知道什么是“可用的”,那么你必须询问你的客户。在金融行业,他们确实有这样的规则,你不能自己编。

完全小数的概念是荒谬的。10.0/3.0有多少个整数?有无限多的数字是理性的,但不是“完美的”。计算机会让情况变得更糟,它用两个手指而不是十个手指进行数学运算,将0.1这样的值变成一个具有无限位数的数字

为了人类的利益,您正在将数字转换为字符串。人类对无限位数的字符串不感兴趣,他们倾向于在7之后退出。当变量的类型为double时,显示超过15是没有用的,超过15的任何数字都是随机噪声。计算机无法存储无限多个数字的不可避免的副作用

首先创建一个可用的用户界面。如果你不知道什么是“可用的”,那么你必须询问你的客户。在金融行业,他们确实有这样的规则,你不能自己编。

完全小数的概念是荒谬的。10.0/3.0有多少个整数?有无限多的数字是理性的,但不是“完美的”。计算机会让情况变得更糟,它用两个手指而不是十个手指进行数学运算,将0.1这样的值变成一个具有无限位数的数字

为了人类的利益,您正在将数字转换为字符串。人类对无限位数的字符串不感兴趣,他们倾向于在7之后退出。当变量的类型为double时,显示超过15是没有用的,超过15的任何数字都是随机噪声。计算机无法存储无限多个数字的不可避免的副作用

首先创建一个可用的用户界面。如果你不知道什么是“可用的”,那么你必须询问你的客户。在金融行业,他们确实有这样的规则,你不能自己编。

完全小数的概念是荒谬的。10.0/3.0有多少个整数?有无限多的数字是理性的,但不是“完美的”。计算机会让情况变得更糟,它用两个手指而不是十个手指进行数学运算,将0.1这样的值变成一个具有无限位数的数字

为了人类的利益,您正在将数字转换为字符串。人类对无限位数的字符串不感兴趣,他们倾向于在7之后退出。当变量的类型为double时,显示超过15是没有用的,超过15的任何数字都是随机噪声。计算机无法存储无限多个数字的不可避免的副作用


首先创建一个可用的用户界面。如果你不知道什么是“可用的”,那么你必须询问你的客户。在金融行业,他们确实有关于这方面的规定,你不能自作主张。

你明白吗,在
双精度
中,你不会有1000000.1256的精确值?几乎可以肯定的是,您不希望在
double
中显示精确的值。。。也许你应该使用
decimal
?@JonSkeet你的意思是因为一个数字的十进制形式和二进制形式之间可能有微小的差异,t