新聞中心
java的加減乘除運(yùn)算
使用BigDecimal并且一定要用String來(lái)夠造。
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了魯山免費(fèi)建站歡迎大家使用!
實(shí)現(xiàn)方法如下:
import java.math.BigDecimal;
/**
* 由于Java的簡(jiǎn)單類(lèi)型不能夠精確的對(duì)浮點(diǎn)數(shù)進(jìn)行運(yùn)算,這個(gè)工具類(lèi)提供精
* 確的浮點(diǎn)數(shù)運(yùn)算,包括加減乘除和四舍五入。
*/
public class Arith{
//默認(rèn)除法運(yùn)算精度
private static final int DEF_DIV_SCALE = 10;
//這個(gè)類(lèi)不能實(shí)例化
private Arith(){
}
/**
* 提供精確的加法運(yùn)算。
* @param v1 被加數(shù)
* @param v2 加數(shù)
* @return 兩個(gè)參數(shù)的和
*/
public static double add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
/**
* 提供精確的減法運(yùn)算。
* @param v1 被減數(shù)
* @param v2 減數(shù)
* @return 兩個(gè)參數(shù)的差
*/
public static double sub(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
/**
* 提供精確的乘法運(yùn)算。
* @param v1 被乘數(shù)
* @param v2 乘數(shù)
* @return 兩個(gè)參數(shù)的積
*/
public static double mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
/**
* 提供(相對(duì))精確的除法運(yùn)算,當(dāng)發(fā)生除不盡的情況時(shí),精確到
* 小數(shù)點(diǎn)以后10位,以后的數(shù)字四舍五入。
* @param v1 被除數(shù)
* @param v2 除數(shù)
* @return 兩個(gè)參數(shù)的商
*/
public static double div(double v1,double v2){
return div(v1,v2,DEF_DIV_SCALE);
}
/**
* 提供(相對(duì))精確的除法運(yùn)算。當(dāng)發(fā)生除不盡的情況時(shí),由scale參數(shù)指
* 定精度,以后的數(shù)字四舍五入。
* @param v1 被除數(shù)
* @param v2 除數(shù)
* @param scale 表示表示需要精確到小數(shù)點(diǎn)以后幾位。
* @return 兩個(gè)參數(shù)的商
*/
public static double div(double v1,double v2,int scale){
if(scale0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 提供精確的小數(shù)位四舍五入處理。
* @param v 需要四舍五入的數(shù)字
* @param scale 小數(shù)點(diǎn)后保留幾位
* @return 四舍五入后的結(jié)果
*/
public static double round(double v,int scale){
if(scale0){
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
};
幫我解釋下java計(jì)算器代碼中的除法運(yùn)算謝謝
java中字符串的相等,請(qǐng)不要用==號(hào),應(yīng)該改成s.equals("==")
else
if(s=="退格"){
a=a/10;
}
這個(gè)方法不太好,比如我輸入1,再退格,應(yīng)該等于0.1嗎?
Java 輸入兩個(gè)正數(shù)來(lái)實(shí)現(xiàn)除法程序?
public final class App {
private App() {}
/**
* Says hello to the world.
* @param args The arguments of the program.
*/
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String s = scan.nextLine();
String[] nums=s.split(" ");
int a = Double.parseDouble(nums[0]);
int b = Double.parseDouble(nums[1]);
int x = a/b;
System.out.println(x);
}
}
java除法計(jì)算
方法一:
double myNum2 = 111231.5585478;
java.math.BigDecimal b = new java.math.BigDecimal(myNum2);
double myNum3 = b.setScale(5, java.math.BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(myNum2);
System.out.println(myNum3);
方法二:
double d = 3.1465926;
String result = String.format("%.2f", d);
System.out.println(result);
編寫(xiě)程序來(lái)執(zhí)行兩個(gè)數(shù)字12和5的算術(shù)加法,乘法和除法(java程序)求源代碼
double a = 12.0;
double b = 5.0;
int addtion_result = 0;//加法計(jì)算結(jié)果
int substraction_result = 0;//減法計(jì)算結(jié)果
int multipliction_result = 0;//乘法計(jì)算結(jié)果
double divide_result = 0.0;//除法計(jì)算結(jié)果
//加法
addtion_result = (int)(a + b);
//減法
substraction_result = (int)(a - b);
//乘法
multipliction_result = (int)(a * b) ;
//除法
divide_result = a / b;
JAVA/C++怎么算除法
都是int數(shù)據(jù)類(lèi)型情況下 /號(hào) 得到的是商,不取余和小數(shù)
例如 5/2=1 2/5=0
但是 5/2.0就不一樣了 =2.5
當(dāng)前文章:java除法計(jì)算函數(shù)代碼 Java的除法
當(dāng)前地址:http://www.dlmjj.cn/article/docipej.html