C#中保留小数点后指定位数

 

double d=1.2356;

  1. string str=d.ToString("0.00");  //小数点后有几个0即保留几位小数。
  2. string str=d.ToString("#0.00");  
  3. string str=d.ToString("f2");  //fn 保留n位,四舍五入,"F","f" 不区分大小写
  4. string str=String.Format("{0:F}", d);  
  5. string str=String.Format("{0:N2}", d);
  6. double do=Math.Round(d, 2);  
  7. decimal de = decimal.Round(decimal.Parse(d.ToString()), 2);

以上7种方法的结果都是1.24。

 

我用了float y = float.Parse(x.ToString("#0.00")),但比如6.50000000000这样做后却变成了6.5,我想让它变成6.50怎么做啊,最后我就是想得到两位小数

编程论坛 1 个网友回答:

float y=6.5 和 6.50内存计算时是一样的啊,你只是显示时将其格式化为 6.50即可.

编程论坛 2 个网友回答:

这个是显示的时候控制,不是赋值能解决的

double x = 6.50000000000;
float y = float.Parse(x.ToString());
Console.WrITeLine(y.ToString("F2"));

编程论坛 3 个网友回答:

我现在需要把这个转成6.50的string共四位发出去,接受方会摘出它来,所以我需要固定位数的,如果是6.5接收的时候就会摘不出来了

编程论坛 4 个网友回答:

你要是想在显示时看到的是6.50,那就用string yy = y.ToString("0.00");
计算时6.5和6.50是一样的

编程论坛 5 个网友回答:

C# code

string str = 6.500000.ToString("f2");//6.50

这样不就转为6.50格式了

编程论坛 6 个网友回答:

float y=6.5; 是浮点型的. 你如果需要通过tcp或RS232 之类的通讯,那也应该转成string型的传递啊,传递前格式化一下即可.

编程论坛 7 个网友回答:

float y =6.5f;
string s = string.Format("{0:0.00}",y);

 

float f = 12.123456f;

string s=f.ToString("0.00");  //呵呵 貌似不正规 还需要强行再转回去

 

Method 2

 

float f = 12.123456f;

string s=f.ToString("f2"); 

 

Method 3

 

float f = 12.123456f;

double s=Math.Round(f, 2);  //这样搞成double了 呵呵

 

这样其实会四舍五入 而且float后面必须带字幕f 而声明double类型的数据则什么都不用带

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值