C# decimal类型为什么会出现尾随0 C# decimal类型为什么会出现尾随0 比如定义一个decimal的值为25.4 将他转换为string之后可以看到他的值为25.400000 后面出现一些0 出现0的个数也不一样 这是什么原因? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ToString("0.0"),控制一下输出格式 decimal d = 25.4m; Response.Write(d.ToString());输出25.4 decimal d = 25.40000m; Response.Write(d.ToString());输出25.40000主要看decimal变量里装的数据的精度。 decimal a=new decimal(0.0);a的值是通过一些计算得到的 不是直接给赋值 比如a得到的值是11.5 将a转换为string类型string b=a.ToString();这个时候b的值就是11.50000 后面有几个0根据数值不同有所不同 int c=b.Length;c的值不是4 他包括了后面的0 肯定比4大 为什么会出现这样的情况?如果用Write输出的话就是11.5,因为Write是格式化输出 decimal是实数行,实际是定长类型,类似于sqlserver里的 decimal(n,m)计算时,会自动添加小数位的,比如: decimal a = decimal.Zero; a = 1.24m * 0.5m; string s = a.ToString();这时它会自动调整长度,长度为两个操作数小数位的和:第一个操作数 1.24 有2位,第二个操作数为1位,那结果为 2+1 = 3 位小数,以前学sqlserver时详细介绍过小数位的自动调整功能,但C#里隐含了这些技术细节,但底层机制是一样的, 【求助】怎么判断devexpress gridcontrol的数据被修改过 关于SqlParameter的这段代码真的不知道错在哪儿了。。。 QQ通信原理 TreeView 问题 求助 为什么DataTable中Columns.maxlength属性值总为-1?(datatable已经成功的实例化了) 学习第一张rdlc报表,大家帮帮忙! 正则求助 “WindowsFormsApplication1.Form1”不包含采用“0”参数的构造函数 这样的正则表达式怎么写? DLL调用主程序函数后能调用成功但是主程序报错”尝试读取或写入受保护的内存“ 怎么获取一个ip电脑中本地用户和组里的信息
Response.Write(d.ToString());
输出25.4 decimal d = 25.40000m;
Response.Write(d.ToString());
输出25.40000主要看decimal变量里装的数据的精度。
a的值是通过一些计算得到的 不是直接给赋值 比如a得到的值是11.5 将a转换为string类型
string b=a.ToString();这个时候b的值就是11.50000 后面有几个0根据数值不同有所不同
int c=b.Length;c的值不是4 他包括了后面的0 肯定比4大 为什么会出现这样的情况?
如果用Write输出的话就是11.5,因为Write是格式化输出
实际是定长类型,类似于sqlserver里的 decimal(n,m)计算时,会自动添加小数位的,
比如: decimal a = decimal.Zero;
a = 1.24m * 0.5m;
string s = a.ToString();这时它会自动调整长度,长度为两个操作数小数位的和:
第一个操作数 1.24 有2位,第二个操作数为1位,
那结果为 2+1 = 3 位小数,以前学sqlserver时详细介绍过小数位的自动调整功能,
但C#里隐含了这些技术细节,但底层机制是一样的,