两个整数相除求%比,保留两位小数

本文介绍了Java中自动类型转换的原理,特别是从整型到双精度浮点型的转换,并提供了一个示例程序,该程序展示了如何使用DecimalFormat进行数值格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

double 是双精度类型,也就是说你的d是double,而你的d*100中的100是整形(int)。这是自动类型转换
符合以下条件时java将会做自动类型转换:
(1)转换前的数据类型与转换后的类型兼容。
(2)转换后的数据类型的表示范围比转换前的类型大。
其中double的表示范围比int大,符合条件(2)。因此java会自动将原来为int的类型的变量100转换为double类型

private static double volicate(int a,int b) {

DecimalFormat df = new DecimalFormat("0.0000");
String fgl = df.format((double)a/b);
DecimalFormat sf_s = new DecimalFormat("00.00");
double dou = Double.valueOf(sf_s.format(Double.valueOf(fgl)*100));
return dou;

}


=====================================================================================

测试类:

package com.jiuqi;


import java.text.DecimalFormat;


public class Test2 {
public static void main(String[] args) {
// int a =  56,b=118;
// DecimalFormat df = new DecimalFormat("0.0000");
// String fgl = df.format((double)a/b);
// DecimalFormat sf_s = new DecimalFormat("00.00");
// System.out.println(Double.valueOf(sf_s.format(Double.valueOf(fgl)*100)));
for(int i = 1; i<100;i++){
for(int num = 0; num<100;num++){
System.out.println(volicate(num,i));
}
}
}

// private static void volicate(int a,int b) {
// DecimalFormat df = new DecimalFormat("0.0000");
// String fgl = df.format((double)a/b);
// DecimalFormat sf_s = new DecimalFormat("00.00");
// System.out.println(Double.valueOf(fgl)*100);
// System.out.println(Double.valueOf(sf_s.format(Double.valueOf(fgl)*100)));
// }
//

private static double volicate(int a,int b) {
DecimalFormat df = new DecimalFormat("0.0000");
String fgl = df.format((double)a/b);
DecimalFormat sf_s = new DecimalFormat("00.00");
double dou = Double.valueOf(sf_s.format(Double.valueOf(fgl)*100));
return dou;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值