Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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
C# 字符串格式问题(.NET)_C#_.net - Fatal编程技术网

C# 字符串格式问题(.NET)

C# 字符串格式问题(.NET),c#,.net,C#,.net,有人可以详细说明以下格式字符串吗?我还没有完全理解它的意思 String.Format("{0:#,0.##}", money); 谢谢。我没有带开发系统,所以我无法验证我将要说的话,但以下是我的解释: 格式部分为,0。。我认为,0部分指定了一个逗号,应该分隔千个,例如1000000。还有。指定小数点后的位数。我原以为你需要.00来强制使用两位数,这对于货币来说是正常的。但我希望你们至少能在小数点后四舍五入到两位数 你试过了吗?我认为这是一种货币格式,带有千位分隔符,如果包含小数点,则只显示小

有人可以详细说明以下格式字符串吗?我还没有完全理解它的意思

String.Format("{0:#,0.##}", money);

谢谢。

我没有带开发系统,所以我无法验证我将要说的话,但以下是我的解释:

格式部分为,0。。我认为,0部分指定了一个逗号,应该分隔千个,例如1000000。还有。指定小数点后的位数。我原以为你需要.00来强制使用两位数,这对于货币来说是正常的。但我希望你们至少能在小数点后四舍五入到两位数


你试过了吗?

我认为这是一种货币格式,带有千位分隔符,如果包含小数点,则只显示小数点后的前两位

这里对自定义格式字符串有很好的概述:

此链接包含更多详细信息,包括对更自由的千位分隔符形式的描述,字符:

基本上,这会将格式设置为具有千位分隔符和两个十进制数字。根据Microsoft文档,数字将四舍五入到正确的小数位

这是自定义数字格式字符串的良好资源:

这意味着货币有千位分隔符,如果是十进制值,它将四舍五入到小数点后的两位数,如果只有十进制值,它将是0.27

decimal money=12341257    //output= 12,341,257 
decimal money=1257        //output= 1,257
decimal money=1257.25     //output= 1,257.25
decimal money=1257.2468   //output= 1,257.25
decimal money=.50         //output= 0.50
decimal money=.759        //output= 0.76
说明:

请参见C中的字符串格式:
 "{0:#,0.##}"
  #,0  //means that , as thousand seperator
  0.## //means that 0 is placed before if only decimal values as .56 to 0.56
  0.## //means if contains decimal then only display 2 digits after decimal
  0.00 //means 2 digits after decimal must be displayed whether or not money contains decimal value