1.c++
首先,在c++中我们最常用的就是setprecision()函数。setprecision( num ):num为你要保留的有效位数。
在使用一些函数时,应首先判断是否需要添加头文件。
#include<iostream>// 不要用iostream.h ,会出现好多问题
#include<iomanip>// io 流控制头文件
setprecision()函数的使用方法为:
(1)保留有效位数
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
double PI=3.1415926;
cout<<setprecision(3)<<PI<<endl;//结果为3.14 注意:这里的3是保留的是有效数字位数,而不是小数点位数
return 0;
}
(2)保留小数点后几位
保留小数点后几位的问题,只需添加setiosflags(ios::fixed)即可;
int main(){
double PI=3.1415926;
cout<<setiosflags(ios::fixed)<<setprecision(3)<<PI<<endl;//结果为:3.142
return 0;
}
2.JAVA
我最常用的是DecimalFormat,能够将数字格式化为你想要的的样子,但是,要注意的是格式化之后就由数字型转为了字符串类型。
需要导入包:
import java.text.DecimalFormat;
然后直接上代码:
(结果中含有进位)
public class Demo{
public static void main(String[] args) {
double d1 = 12345.6789;
System.out.println(new DecimalFormat("0.0").format(d1));//12345.7
System.out.println(new DecimalFormat("0.00000").format(d1));//12345.67890
System.out.println(new DecimalFormat("000000.0").format(d1));//012345.7
System.out.println(new DecimalFormat("#.0").format(d1));//12345.7
System.out.println(new DecimalFormat("0.#").format(d1));//12345.7
System.out.println(new DecimalFormat("#.#").format(d1));//12345.7
System.out.println(new DecimalFormat("######.#").format(d1));//12345.7
System.out.println(new DecimalFormat("#.#####").format(d1));//12345.6789
DecimalFormat d = new DecimalFormat("0.0");
//double d2 = d.format(d1);//错误,经过格式化之后就变为了字符串类型
String s1 = d.format(d1);//正确
}
}
模式中0与# 不同
模式中的"#"表示如果该位存在字符,则显示字符,如果不存在,则不显示。
3.Python
初学Python,用的方法可能是最简单的。若浏览者有更好的方法可以留言。
data = input()#input()函数,获取到的数据为字符串
print("{:.2f}".format(eval(data)))
print("运算结果为:{:.2f}".format(eval(data)))
eval()函数是Python中最常用的函数
作用是返回传入字符串的表达式的结果。即等号右边eval(data)转入的data是字符串,返回值就是data去掉两边的双引号或单引号,然后计算机运算去掉引号的表达式,最后返回结果。
{:.2f}作用就是保留两位小数,然后将结果填回
num = 123.45678
print("{:.3f}".format(num))#结果为:123.457(进位)
x = "{:.3f}".format(num)
print(x)#结果为:123.457
写到文章的最后,我作为一名学习过一段时间的编程语言的学生,将学习了解到的几种语言的数位保留方法分享给大家。也衷心的希望能与大家共同进步。谢谢!