如何从小数中取出分数部分?

Rom*_*kin 4 .net c# formatting decimal

如何在.NET中格式化十进制类型时删除小数部分?我需要两种变体的通用语法.有没有温和的解决方案?

            decimal a = 1.22M;
            decimal b = 1.00M;

            String.Format("${0}", a); // result is $1.22
            String.Format("${0}", b); // result is $1.00, should be $1, HOW?
Run Code Online (Sandbox Code Playgroud)

Jor*_*ren 7

假设'通用语法'意味着你需要一个解决方案来提供两个输出,那就行String.Format("${0:#.##}", x)了.如果x1.00M,其结果将是"$1".当x1.22M,结果是"$1.22".

  • @ user337085:使用`0.##`而不是`#.##`.当值为零时,这将解决您的问题. (5认同)