日期:2014-05-19  浏览次数:20907 次

自定义数字格式字符串('0'与'#')的问题
double   MyPos=19.95;

    string   MyString=MyPos.ToString( "$#,##0.00 ");
    Console.WriteLine(MyString);   //输出$19.95              
//     把   $#,##0.00   换成   $#,##.##   也可以,换成$#.0也行,这些该怎么理解?

上面的程序代码   $#,##0.##   不明白是怎么产生$19.95的?
能否详细说说零占位符(0)和数字占位符(#)的用法和区别?




------解决方案--------------------
//如果在#位置上没有字符,忽略#,如果的位置上有一个字符,就用这个字符代替,否则就显示
Console.WriteLine( "{0:#.00} ", 1.2);

------解决方案--------------------
#的位置,有数字就显示,没有就不显示
0的位置,有数字就显示,没有就显示为0


double MyPos=19.9;

用下面的分别测试一下就能看出效果了
string MyString=MyPos.ToString( "$#,##0.00 ");
string MyString=MyPos.ToString( "$#,##0.0# ");