C#如何控制float小数点位数

如题所述

1、保持原来的float类型值不变,显示或输出时指定小数点位数

float x = 62.11512322f;

//用 "f2" 指定小数点后2位

string s =  string s =string.Format("{0:f2}", x);

//结果 s = "62.12"

2、改变float 类型值,保持指定的小数位数

float x = 62.11512322f;

//将 x 后小数点位数指定为2(四舍五入)

float x = (float)Math.Round((double)x, 2)

// 结果: x = 62.12


扩展资料:

FLOAT基本构成

浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分。

数符占 1 位二进制,表示数的正负。

指数符占 1 位二进制,表示指数的正负。

尾数表示浮点数有效数字,0.xxxxxxx, 但不存开头的 0 和点。

指数存指数的有效数字。

指数占多少位,尾数占多少位,由计算机系统决定。

可根据应用程序的需求将变量声明为 float 或 double。这两种类型之间的主要差异在于它们可表示的基数、它们需要的存储以及它们的范围。

参考资料来源:百度百科-FLOAT (数据类型)

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-27

1)保持原来的float类型值不变,显示或输出时指定小数点位数

float x = 62.11512322f;
//用 "f2" 指定小数点后2位
string s =  string s =string.Format("{0:f2}", x);
//结果 s = "62.12"

2)改变float 类型值,保持指定的小数位数

float x = 62.11512322f;
//将 x 后小数点位数指定为2(四舍五入)
float x = (float)Math.Round((double)x, 2)
// 结果: x = 62.12

本回答被提问者和网友采纳
第2个回答  2016-01-13
ROUND()是C#中math的一个成员函数.System.Math.Round(),这个函数有四种用法,最长用的是对小数点位数的舍入.但这和现实生活中的“四舍五入”有一定区别,也有别JAVA中Math.Round(),跟sql中的Math.Round()方法有别.
C#中Math.round()采用的是所谓“四舍六入五成双”的银行家舍入法---要舍得位如果是5则舍入后末位要求是偶数,要舍得位如果不是五 则按四舍五入处理.
如:
Math.Round(1.2600,2);结果是1.26
Math.Round(1.2460,2);结果是1.25
Math.Round(1.2550,2);结果是1.25
Math.Round(1.2551,2);结果是1.26
Math.Round(1.2560,2);结果是1.26