電商項目中分與元金額單位互轉實戰

在Java開發中,可能遇到金額單位的轉換,比如本系統用分作為金額的基本單位,對方系統用元作為金額的基本單位,這就需要進行單位轉換,記錄下來,方便備查。

一、分轉元

分轉元,分到元相差兩位,小數點前移2位,即除于100,long轉decimal,可使用 divide方法。
注意要使用setScale,指定小數點保留位數。

/**
* 功能:Long轉換給雙精度decimal(分轉元)
*
* @param amount
* @return
*/
public static BigDecimal transLongToDecial(Long amount) {if (null == amount) {return new BigDecimal(0);}return new BigDecimal(amount).divide(new BigDecimal("100")).setScale(2, RoundingMode.HALF_UP);
}

單元測試轉換

 // 分轉元
Long amount = 1829L;
BigDecimal decialAmount = transLongToDecial(amount);
System.out.println("分轉元transLongToDecial為:" + decialAmount);

執行結果如下所示
在這里插入圖片描述

二、元轉分

元轉分,分到元相差兩位,小數點后移2位,即乘于100,decimal轉long,可使用 multiply方法。

/*** 功能:雙精度decimal轉換Long(元轉分)* @param amount* @return*/public static Long transDecialToLong(BigDecimal amount) {if(null == amount) {return 0l;}return amount.multiply(new BigDecimal(100)).setScale(1, RoundingMode.HALF_UP).longValue();}

單元測試

// 元轉分
BigDecimal decimalAmount = new BigDecimal(18.29);
Long longAmount = transDecialToLong(decimalAmount);
System.out.println("元轉元transDecialToLong為:" + longAmount);

測試結果如下圖所示。
在這里插入圖片描述
以上就是分和元相互轉換的工具方法,僅供參考!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43138.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43138.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43138.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PHP源碼:新聞門戶系統(附管理后臺+前臺)

一. 前言 今天小編給大家帶來了一款可學習,可商用的,新聞門戶系統 源碼,支持二開,無加密。項目可以擴展為個人博客,和一些社交論壇網址。主要功能:支持文章管理,評論管理,分類管理等…

Kotlin linkedMapOf filterKeys

Kotlin linkedMapOf filterKeys fun main(args: Array<String>) {val lhm linkedMapOf<String, Any>(Pair("name", "phil"), //因為key相同都為 name&#xff0c;被后面的覆蓋。Pair("year", 2024),Pair("name", "f…

大語言模型的應用探索AI Agent初探!

前言 大語言模型的應用之一是與大語言模型進行聊天也就是一個ChatBot&#xff0c;這個應用已經很廣泛了。 接下來的一個應用就是AI Agent。 AI Agent是人工智能代理&#xff08;Artificial Intelligence Agent&#xff09;的概念&#xff0c;它是一種能夠感知環境、進行決策…

消防認證-防火窗

一、消防認證 消防認證是指消防產品符合國家相關技術要求和標準&#xff0c;且通過了國家認證認可監督管理委員會審批&#xff0c;獲得消防認證資質的認證機構頒發的證書&#xff0c;消防產品具有完好的防火功能&#xff0c;是住房和城鄉建設領域驗收的重要指標。 二、認證依據…

GEE代碼實例教程詳解:NDVI時間序列趨勢分析

簡介 在本篇博客中&#xff0c;我們將使用Google Earth Engine (GEE) 對MODIS NDVI數據進行時間序列趨勢分析。通過分析2001年至2021年的NDVI數據&#xff0c;我們可以了解植被覆蓋度隨時間的變化趨勢。 背景知識 MODIS數據集 MODIS&#xff08;Moderate Resolution Imagin…

Websocket在Java中的實踐——整合Rabbitmq和STOMP

大綱 Rabbitmq開啟STOMP支持 服務端依賴參數參數映射類配置類邏輯處理類 測試測試頁面Controller測試案例 在《Websocket在Java中的實踐——STOMP通信的最小Demo》一文中&#xff0c;我們使用enableSimpleBroker啟用一個內置的內存級消息代理。本文我們將使用Rabbitmq作為消息代…

【Unity2D 2022:Particle System】添加拾取粒子特效

一、創建粒子特效游戲物體 二、修改粒子系統屬性 1. 基礎屬性 &#xff08;1&#xff09;修改發射粒子持續時間&#xff08;Duration&#xff09;為3s &#xff08;2&#xff09;取消勾選循環&#xff08;Looping&#xff09; &#xff08;2&#xff09;修改粒子存在時間&…

SQL性能優化策略

發現問題 通過業務監控發現慢SQL或接口響應延遲。利用性能分析工具定位問題。 定位SQL語句 使用監控工具確定影響性能的SQL語句和表。 SQL查詢變慢原因 索引失效&#xff1a;查詢未使用索引或索引效率低。多表連接&#xff1a;JOIN操作導致性能下降。查詢字段過多&#xf…

Monitor結構解讀之EntryQ和WaitSet的區別

EntryQ&#xff08;或_EntryList&#xff09;和WaitSet&#xff08;或_WaitSet&#xff09;在Java的monitor機制中扮演著不同的角色&#xff0c;它們之間的主要區別體現在以下幾個方面&#xff1a; 1. 等待原因和機制 EntryQ&#xff08;或_EntryList&#xff09;&#xff1a…

面試常考題---128陷阱(詳細)

1.問題引入 分別引入了int和Integer變量&#xff0c;并進行比較 int b 128; int b1 128;Integer d 127; Integer d1 127;Integer e 128; Integer e1 128;System.out.println(bb1); System.out.println(dd1); System.out.println(ee1); System.out.println(e.equals(e1)…

刷題(day01)

1、leetcode485.最大連續1的個數 給定一個二進制數組 nums &#xff0c; 計算其中最大連續 1 的個數。 示例 1&#xff1a; 輸入&#xff1a;nums [1,1,0,1,1,1] 輸出&#xff1a;3 解釋&#xff1a;開頭的兩位和最后的三位都是連續 1 &#xff0c;所以最大連續 1 的個數是 3.…

Nginx 高效加速策略:動靜分離與緩存詳解

在現代Web開發中&#xff0c;網站性能是衡量用戶體驗的關鍵指標之一。Nginx&#xff0c;以其出色的性能和靈活性&#xff0c;成為眾多網站架構中不可或缺的一部分。本文將深度解析如何利用Nginx實現動靜分離與緩存&#xff0c;從而大幅提升網站加載速度和響應效率。 理解動靜分…

昇思第18天打卡|ShuffleNet圖像分類

ShuffleNet網絡介紹 ShuffleNetV1是曠視科技提出的一種計算高效的CNN模型&#xff0c;和MobileNet, SqueezeNet等一樣主要應用在移動端&#xff0c;所以模型的設計目標就是利用有限的計算資源來達到最好的模型精度。ShuffleNetV1的設計核心是引入了兩種操作&#xff1a;Pointw…

張大哥筆記:你一旦開竅,就會發現遍地都是錢

大家有沒有發現&#xff0c;窮人總是追逐眼前的利益&#xff0c;總是在追著錢跑&#xff0c;卻總是賺不到錢。而富人有著長遠的見識&#xff0c;追著問題跑&#xff0c;最后卻賺的盆滿缽滿。 我們聽過這樣一句話&#xff0c;錢不是賺來的&#xff0c;而是幫助別人解決問題后給你…

【計算機】同步/異步

同步/異步 在計算機科學和編程中&#xff0c;“同步”&#xff08;Synchronization&#xff09;是一種機制&#xff0c;用于協調不同進程或線程之間的操作&#xff0c;以避免競態條件&#xff08;race conditions&#xff09;、死鎖&#xff08;deadlocks&#xff09;和其他并…

Qt/C++編寫地圖應用/離線地圖下載/路徑規劃/軌跡回放/海量點/坐標轉換

一、前言說明 這個地圖組件寫了很多年了&#xff0c;最初設計的比較粗糙&#xff0c;最開始只是為了滿足項目需要&#xff0c;并沒有考慮太多拓展性&#xff0c;比如最初都是按照百度地圖寫死在代碼中&#xff0c;經過這幾年大量的現場實際應用&#xff0c;以及大量的用戶提出…

Django 新增數據 save()方法

1&#xff0c;添加模型 Test/app11/models.py from django.db import modelsclass Book(models.Model):title models.CharField(max_length100)author models.CharField(max_length100)publication_date models.DateField()price models.DecimalField(max_digits5, decim…

BFC 是什么?

BFC 是塊級格式化上下文&#xff08;Block Formatting Context&#xff09;的縮寫&#xff0c;是 CSS 中一個重要的概念&#xff0c;用于控制塊級盒子的布局及浮動元素的交互。BFC 是一個獨立的渲染區域&#xff0c;內部的塊級盒子會按照特定的規則進行布局&#xff0c;不會影響…