java编程中怎么控制小数点后的位数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java编程中怎么控制小数点后的位数?相关的知识,希望对你有一定的参考价值。
public class pay
public static void main(String[]args)
String client1="张三";
String client2="李四";
double T_shirtPrice=420.78; //t恤单价
int T_shirtNo=1; //t恤数量
double tennisPrice=45; //网球单价
int tennisNo=3; //网球数量
double T_shirtMoney = T_shirtPrice*T_shirtNo*0.95; //0.95是打折
double tennisMoney = tennisPrice*tennisNo;
//物品
System.out.println("所购商品:");
System.out.println("商品\t单价\t\t个数\t折扣");
System.out.println("T恤\t¥420.78\t\t1\t9.5");
System.out.println("网球\t¥45\t\t3\t无");
//购买清单
System.out.println("\n*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=");
System.out.println("客户\t消费金额");
System.out.println(client1+"\t¥"+T_shirtMoney); //怎样控制这个金额数的小数点后只有两位?
System.out.println(client2+"\t¥"+tennisMoney);
这个输出结果为:
所购商品:
商品 单价 个数 折扣
T恤 ¥420.78 1 9.5
网球 ¥45 3 无
*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=
客户 消费金额
张三 ¥399.74099999999993 //让它等于 399.74 怎样操作?
李四 ¥135.0
帮解决下!
//一般控制格式都是通过 DecimalFormat 来控制的
import java.text.DecimalFormat;
public class ControlBit
public static void main(String[] argu)
double money = 399.74099999999993;
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(money));
扩展资料
Decimalformat
import java.text.DecimalFormat;
public class NumberFormatDemo02
public static void main(String args[])
DecimalFormat df=new DecimalFormat("0.00");
String a = df.format(11.3265876);
String b = df.format(0.3526425);
System.out.println(a);
System.out.println(b);
参考资料:百度百科 Java
参考技术A //一般控制格式都是通过 DecimalFormat 来控制的.下边是个例子.import java.text.DecimalFormat;
public class ControlBit
public static void main(String[] argu)
double money = 399.74099999999993;
DecimalFormat df=new DecimalFormat("#.00");
System.out.println(df.format(money));
本回答被提问者采纳 参考技术B 一楼二楼说的都没错
一楼的是格式控制 C语言是printf java也用过来了
二楼有点错误
System.out.println("df.format(d1)");
这个里面的""要去掉
应该是
System.out.println(df.format(T_shirtMoney)); 参考技术C 以下是抄来的,刚学完J2SE,DecimalFormat从来都没用过..
格式化化输出就OK
import java.text.io;
DecimalFormat df=new DecimalFormat("#.00");
System.out.println("df.format(d1)");
System.out.println("df.format(d2)");
参考资料:http://zhidao.baidu.com/question/22042003.html?si=1
参考技术D System.out.printf("%s\t ¥ %.2f\n",client1,T_shirtMoney);C语言中输出时怎样控制小数点后的位数,请举例说明保
举例说明如下:
#include <iostream>
#include <iomanip>
using namespace std;
int main( void )
const double value = 12.3456789;
cout << value << endl; // 默认以6精度,所以输出为 12.3457
cout << setprecision(4) << value << endl; // 改成4精度,所以输出为12.35
cout << setprecision(8) << value << endl; // 改成8精度,所以输出为12.345679
cout << fixed << setprecision(4) << value << endl; // 加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457
cout << value << endl; // fixed和setprecision的作用还在,依然显示12.3457
cout.unsetf( ios::fixed ); // 去掉了fixed,所以精度恢复成整个数值的有效位数,显示为12.35
cout << value << endl;
cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457
cout << value << endl;
C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
参考技术A举例说明如下:
#include <stdio.h>int main()
double pi=3.1415926456789565;
printf("%.2f\\n",pi); //保留小数点后2位
printf("%.6f\\n",pi); //保留小数点后6位
printf("%.15f\\n",pi); //保留小数点后15位
return 0;
运行结果:
3.14
3.141593
3.141592645678957
参考技术B #include<stdio.h>int main(void)
float i = 12.0;
printf("%f\\n", i);
printf("%.1f\\n", i);
printf("%.2f\\n", i);
printf("%.3f\\n", i);
printf("%.4f\\n", i);
printf("%.5f\\n", i);
printf("%.6f\\n", i);
printf("%.7f\\n", i);
printf("%.8f\\n", i);
printf("%.9f\\n", i);
printf("%.10f\\n", i);
printf("%.11f\\n", i);
printf("%.12f\\n", i);
return 0;
运行结果:
12.000000
12.0
12.00
12.000
12.0000
12.00000
12.000000
12.0000000
12.00000000
12.000000000
12.0000000000
12.00000000000
12.000000000000
printf("%f\\n", i);在普通输出控制格式字符的%和f中间加“.#”(其中#为小数点位数)
以上是关于java编程中怎么控制小数点后的位数?的主要内容,如果未能解决你的问题,请参考以下文章