关于C++/JAVA/Python的数位保留问题

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

写到文章的最后,我作为一名学习过一段时间的编程语言的学生,将学习了解到的几种语言的数位保留方法分享给大家。也衷心的希望能与大家共同进步。谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淡雅的惆怅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值