本篇文章為大家展示了Java如何保留指定的小數(shù)點(diǎn),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比淄川網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式淄川網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋淄川地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴。
今天項(xiàng)目中需要更改時(shí)長(zhǎng)的顯示方式,規(guī)定必須保留兩位小數(shù),剛才看簡(jiǎn)書(shū)的時(shí)候正好看到一個(gè)指定保留小數(shù)位數(shù)的工具類的文章,在此基礎(chǔ)上,做了一點(diǎn)小修改,用起來(lái)更加方便了,有需要的朋友盡管擼走
DecimalUtils 類:
import java.math.BigDecimal; import java.math.RoundingMode; import java.text.DecimalFormat; /** * Created by Sean on 17/3/10. */ public class DecimalUtils { /** * 按四舍五入保留指定小數(shù)位數(shù),位數(shù)不夠用0補(bǔ)充 * @param o 格式化前的小數(shù) * @param newScale 保留小數(shù)位數(shù) * @return 格式化后的小數(shù) */ public static String formatDecimalWithZero(Object o, int newScale) { return String.format("%." + newScale + "f", o); } /** * 按四舍五入保留指定小數(shù)位數(shù),位數(shù)不夠用0補(bǔ)充 * @param d 格式化前的小數(shù) * @param newScale 保留小數(shù)位數(shù) * @return 格式化后的小數(shù) */ public static String formatDecimalWithZero(double d, int newScale) { String pattern = "0."; for (int i = 0; i < newScale; i++) { pattern += "0"; } DecimalFormat df = new DecimalFormat(pattern); return df.format(d); } /** * 按四舍五入保留指定小數(shù)位數(shù),位數(shù)不夠用0補(bǔ)充 * @param d 格式化前的小數(shù) String形式 * @param newScale 保留小數(shù)位數(shù) * @return 格式化后的小數(shù) */ public static String formatDecimalWithZero(String d, int newScale) { String pattern = "0."; for (int i = 0; i < newScale; i++) { pattern += "0"; } DecimalFormat df = new DecimalFormat(pattern); return df.format(Double.valueOf(d)); } /** * 按四舍五入保留指定小數(shù)位數(shù),小數(shù)點(diǎn)后僅保留有效位數(shù) * @param d 格式化前的小數(shù) * @param newScale 保留小數(shù)位數(shù) * @return 格式化后的小數(shù) */ public static String formatDecimal(double d, int newScale) { String pattern = "#."; for (int i = 0; i < newScale; i++) { pattern += "#"; } DecimalFormat df = new DecimalFormat(pattern); return df.format(d); } /** * 按四舍五入保留指定小數(shù)位數(shù),小數(shù)點(diǎn)后僅保留有效位數(shù) * @param d 格式化前的小數(shù) * @param newScale 保留小數(shù)位數(shù) * @return 格式化后的小數(shù) */ public static String formatDecimal(String d, int newScale) { String pattern = "#."; for (int i = 0; i < newScale; i++) { pattern += "#"; } DecimalFormat df = new DecimalFormat(pattern); return df.format(Double.valueOf(d)); } /** * 按指定舍入模式保留指定小數(shù)位數(shù) * @param d 格式化前的小數(shù) * @param newScale 保留小數(shù)位數(shù) * @param roundingMode 舍入模式 * (RoundingMode.UP始終進(jìn)一/DOWN直接舍棄/ * CEILING正進(jìn)負(fù)舍/FLOOR正舍負(fù)進(jìn)/ * HALF_UP四舍五入/HALF_DOWN五舍六進(jìn)/ * HALF_EVEN銀行家舍入法/UNNECESSARY拋出異常) * @return 格式化后的小數(shù) */ public static double formatDecimal(double d, int newScale, RoundingMode roundingMode) { BigDecimal bd = new BigDecimal(d).setScale(newScale, roundingMode); return bd.doubleValue(); } /** * 按指定舍入模式保留指定小數(shù)位數(shù) * @param d 格式化前的小數(shù) * @param newScale 保留小數(shù)位數(shù) * @param roundingMode 舍入模式 * (RoundingMode.UP始終進(jìn)一/DOWN直接舍棄/ * CEILING正進(jìn)負(fù)舍/FLOOR正舍負(fù)進(jìn)/ * HALF_UP四舍五入/HALF_DOWN五舍六進(jìn)/ * HALF_EVEN銀行家舍入法/UNNECESSARY拋出異常) * @return 格式化后的小數(shù) */ public static double formatDecimal(String d, int newScale, RoundingMode roundingMode) { BigDecimal bd = new BigDecimal(Double.valueOf(d)).setScale(newScale, roundingMode); return bd.doubleValue(); } }
上述內(nèi)容就是Java如何保留指定的小數(shù)點(diǎn),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:Java如何保留指定的小數(shù)點(diǎn)
URL分享:http://chinadenli.net/article38/jggipp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、Google、營(yíng)銷型網(wǎng)站建設(shè)、域名注冊(cè)、網(wǎng)站制作、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)