日期:2014-05-18  浏览次数:21764 次

C#中的decimal如何保留两位小数???
问题是这样:
现在 parame[5].Value 是从数据库返回的output参数带有两位小数的值,如:46.28
我这如果以如下方式接受的话,得到的money1是46,是四舍五入后的,怎么样得到确切的46.28呢?? 
decimal money1 = (decimal)parame[5].Value;

------解决方案--------------------
decimal d = 46.28111;

string dStr = Math.Round( d,2 ).ToString();

结果:dStr == "46.28"

------解决方案--------------------
double d;
double.Parse(String.Format("{0:N}",d)); 

double x = double.Parse("");
double y = x % 0.01;
double z = x - y;


------解决方案--------------------
或者这种方法,不过要转换数据类型
decimal a = 46.28111;
string result=a.ToString("#0.00");
输出result=46.28
------解决方案--------------------
不错,,学习了
------解决方案--------------------
decimal d = 46.28111m;
Console.WriteLine(d.ToString("#0.00"));
------解决方案--------------------
Console.WriteLine(你的变量.ToString("#0.00"));
tosting()方法里有很多转换格式的。
------解决方案--------------------
探讨
真惊了,
没一个对的

------解决方案--------------------
探讨
或者这种方法,不过要转换数据类型
decimal a = 46.28111;
string result=a.ToString("#0.00");
输出result=46.28

------解决方案--------------------
参数parame[5]你设置其精度值了没有