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编程中怎么控制小数点后的位数?的主要内容,如果未能解决你的问题,请参考以下文章

java中如何控制输出数字位数

C语言中输出时怎样控制小数点后的位数,请举例说明保

小数点前面百位数进行四舍五入如何编程汉语编程巧妙处理

C语言中输出时怎样控制小数点后的位数,请举例说明保留1、2、3、4位小数等等,谢谢

C语言编程序时怎么控制浮点型输出的小数点精确到几位

如何将数组转化为字符串,编程怎么实现呢