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

作者&投稿:贝葛 (若有异议请与网页底部的电邮联系)
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

1)保持原来的float类型值不变,显示或输出时指定小数点位数
float x = 62.11512322f;//用 "f2" 指定小数点后2位string s = string s =string.Format("{0:f2}", x);//结果 s = "62.12"float x = 62.11512322f;//将 x 后小数点位数指定为2(四舍五入)float x = (float)Math.Round((double)x, 2)// 结果: x = 62.12

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)保持原来的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


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


衡南县18818731418: C#如何将float类型数值保留两位小数? -
经阎旨泰: 1、float y =8.60000000000000000; string s = y.ToString("F2"); 2、%.2f是保留两位小数 %.3f是保留三位小数 3、c#里面有个Math.Round()函数,Math.Round(a,2)就是保留2位小数

衡南县18818731418: 如何对Float小数点后一位四舍五入,并且取绝对值 -
经阎旨泰: C#代码: //v为待求值,x为小数点后保存位数 float Round(float v, int x) { //如果是负数 if (v < 0) { v = -v; } int IValue = 1; for (int i = 1; i <= x; i++) { IValue = IValue * 10; } float Int = Math.Round(v * IValue + 0.5, 0); v = Int / IValue; return v; }C代码:float Round...

衡南县18818731418: C#怎么保留小数点? -
经阎旨泰: 1.只要求保留N位不四舍5入float f = 0.55555f;int i =(int)(f * 100);f = (float)(i*1.0)/100;2、decimal d= decimal.Round(decimal.Parse( "0.55555 "),2);3、double d = Math.Round(0.55555,2) 4、double dbdata = 0.55555; string str1 = dbdata....

衡南县18818731418: C#中怎么控制浮点型数值的位数
经阎旨泰:float a = 1.1F; var b = a.ToString("0.0000");

衡南县18818731418: 编程里怎样控制小数点后几位 -
经阎旨泰: 可以通过输出格式说明符来指定精确到小数点后几位. 比如: printf("%2.3f\n", 3.1415926) // 输出_ 3.142 (其中_ 代表空格) 上面的输出格式说明符%2.3f 中各部分意思如下: 2—— 表示整数部分以固定2位宽度输出.如果数据的位数小于2,则左端补以空格,若大于2,则按实际位数输出. .3——(3的前面有个小数点)表示输出精确到小数点后3位.如果实际数字不足3位,则在末尾补0,若大于3位,则按四舍五入取前三位.

衡南县18818731418: C#float型数据我不用科学计数法该怎么办? -
经阎旨泰: C可以用%g输出,这个会自动选择该用什么输出,用%f的话可以自己控制小数位数,C#应该类似在机内必须用科学计数法,你没法控制,所有的编程语言都是这样存的(底数+阶码),从系统一开始就是这么设计的..

衡南县18818731418: C语言 如何确定输入的float型的小数点位数 -
经阎旨泰: 输入后,十进制数变2进制.十进制小数 化 2进制小数 常常 化不尽,所以用 大于小于来判断float型是否正好大于小于某数值是困难的. 简单办法是用字符串方法读入,直接判断字符串. float i; char str[32]; int j,L; scanf("%s",str); sscanf(str,"%f",&i); L = strlen(str); 然后查找小数点,for (j=0;j<L;j++) if (str[j]=='.') { 有小数点,记录下j的位置 ... }; 然后从最小的一位 str[L-1] 起循环,找到第一个不是 0 的位置. if (str[k] !='0'){....} 算出位数.

衡南县18818731418: C++中怎么控制小数的位数 -
经阎旨泰: #include<iostream>#include"math.h"#include<iomanip> usingnamespacestd; intmain(){ intm; doublen,sum=0;//intqiuhe(inti,intn); cin>>n>>m;//a=n; for(inti=0;i<m;i++){ sum+=n; n=sqrt(n); } cout<<fixed<<setprecision(2)<<sum;//控制小du数点后...

衡南县18818731418: 怎么使float保留两位小数或多位小数 -
经阎旨泰: 你没说什么编程语言,以C为例: printf("%.2f",a);对变量a保留两位小数 printf("%.3f",a);对变量a保留三位小数 ......

衡南县18818731418: C#float转String怎么保留实际小数位数 -
经阎旨泰: 首先,用这个测试小数位数的理论就不是很准确,没有说可以这样测试. 用下面的程序测试,结果就又是另外一种:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17#include<iostream> using namespace std; int main () {int n = 0;float a = 111....

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网