12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package thyyxxk.webserver.utils;
- import java.math.BigDecimal;
- import java.math.RoundingMode;
- import java.text.DecimalFormat;
- /**
- * @author dj
- */
- public class DecimalUtil {
- public static String add(String a, String b) {
- if (StringUtil.isBlank(a)) {
- a = "0";
- }
- if (StringUtil.isBlank(b)) {
- b = "0";
- }
- BigDecimal ad = new BigDecimal(a);
- BigDecimal bd = new BigDecimal(b);
- return ad.add(bd).setScale(2, RoundingMode.HALF_UP).toString();
- }
- public static String add1(String a, String b) {
- if (StringUtil.isBlank(a)) {
- a = "0";
- }
- if (StringUtil.isBlank(b)) {
- b = "0";
- }
- BigDecimal ad = new BigDecimal(a);
- BigDecimal bd = new BigDecimal(b);
- return ad.add(bd).setScale(0, RoundingMode.HALF_UP).toString();
- }
- public static String minus(String a, String b) {
- BigDecimal ad = new BigDecimal(a);
- BigDecimal bd = new BigDecimal(b);
- return ad.subtract(bd).setScale(2, RoundingMode.HALF_UP).toString();
- }
- public static String minusLink(String a, String b, String c, String d) {
- if (StringUtil.isBlank(a)) {
- a = "0";
- }
- if (StringUtil.isBlank(b)) {
- b = "0";
- }
- if (StringUtil.isBlank(c)) {
- c = "0";
- }
- if (StringUtil.isBlank(d)) {
- d = "0";
- }
- BigDecimal ad = new BigDecimal(a);
- BigDecimal bd = new BigDecimal(b);
- BigDecimal cd = new BigDecimal(c);
- BigDecimal dd = new BigDecimal(d);
- return ad.subtract(bd).subtract(cd).subtract(dd).setScale(2, RoundingMode.HALF_UP).toString();
- }
- public static BigDecimal add(BigDecimal a, BigDecimal b) {
- return a.add(b).setScale(2, RoundingMode.HALF_UP);
- }
- public static BigDecimal minus(BigDecimal a, BigDecimal b) {
- return a.subtract(b).setScale(2, RoundingMode.HALF_UP);
- }
- public static String divide(String a, String b, int scale) {
- BigDecimal ad = new BigDecimal(a);
- BigDecimal bd = new BigDecimal(b);
- return ad.divide(bd, scale, RoundingMode.DOWN).toString();
- }
- public static String moneyYuanToFen(BigDecimal fee) {
- BigDecimal hundred = new BigDecimal("100");
- return fee.multiply(hundred).setScale(0, RoundingMode.CEILING).toPlainString();
- }
- public static String getPercent(int x, int total) {
- String result;
- double v = (double) x / (double) total;
- DecimalFormat df = new DecimalFormat("0.00%");
- result = df.format(v);
- return result;
- }
- public static int compare(String a, String b) {
- BigDecimal d1 = new BigDecimal(a);
- BigDecimal d2 = new BigDecimal(b);
- return d1.compareTo(d2);
- }
- }
|