golang元转分、分转元
参考
https://godoc.org/github.com/shopspring/decimal#example-NewFromFloat
代码
package digitalConverimport ("fmt""github.com/shopspring/decimal"
)//一分钱转一块钱,
//分转元
func Fen2Yuan(price uint64) string {d := decimal.New(1,2) //分除以100得到元result := decimal.NewFromInt(int64(price)).DivRound(d,2).String()fmt.Printf("输入值为:%d, 分转元后,精度为二的结果为:%s\n", price, result)return result
}//元转分,乘以100后,保留整数部分
func Yuan2Fen(price float64) int64 {d := decimal.New(1,2)//分转元乘以100d1 := decimal.New(1,0)//乘完之后,保留2为小数,需要这么一个中间参数//df := decimal.NewFromFloat(price).Mul(d).DivRound(d1,2).String()df := decimal.NewFromFloat(price).Mul(d).IntPart()//如下是满足,当乘以100后,仍然有小数位,取四舍五入法后,再取整数部分dff := decimal.NewFromFloat(price).Mul(d).DivRound(d1,0).IntPart()fmt.Printf("输入值为:%f, 简单的元转分后,取整数部分:%d\n", price, df)fmt.Printf("输入值为:%f, 元转分后,若还有小数,需做四舍五入后,再取整数:%d\n", price, dff)return df
}
//main.go
func main() {digitalConver.Fen2Yuan(2556)digitalConver.Yuan2Fen(23.56511)
}
输出
输入值为:2556, 分转元后,精度为二的结果为:25.56
输入值为:23.565110, 简单的元转分后,取整数部分:2356
输入值为:23.565110, 元转分后,若还有小数,需做四舍五入后,再取整数:2357
golang元转分、分转元相关推荐
- java 分转元_java元转分分转元
一个简单的元转分分转元工具类,是使用了BigDecimal来对金额高精度计算.BigDecimal的介绍这里就不展开了.直接上代码: AmountUtil.javapackage com.weizhi ...
- java 金额转换 元转分 分转元
import java.math.BigDecimal;/*** 作 者:lianxin*/ public class MoneyUtils {/*** 商户金额单位对应支付定单金额单位(元对应分)比 ...
- Android - 分转元、元转分 金额工具类
说明: Android涉及到的金额分转元.元转分,写成工具类做记录使用. 需求: 1.元转分: 可传入字符串或者long型(隐式转换为long型也可)整数. 若传入为字符串,则通过替换小数点的方式转换 ...
- Java元转12位分_java 分转元与元转分实现操作
分转元 private String fenToYuan(String amount){ NumberFormat format = NumberFormat.getInstance(); try{ ...
- 带有两位小数的元转分
只对有两位小数的元转分使用,2位以上不适用,会直接把第三位小数去掉,丢精度 /*** 元 转 分 -- 保证精度准确* @param price* @return*/public static int ...
- java 交易金额转换分,java金额元与分转换工具种
java金额元与分转换工具类 java金额元与分转换的一个工具类. 1.元转分: 可传入字符串或者long型(隐式转换为long型也可)整数. 若传入为字符串,则通过替换小数点的方式转换,小数点有多位 ...
- BigDecimal 元转分-加减乘除、百分比
触发,结果展示为 百分比 125% import java.math.BigDecimal; import java.text.NumberFormat;public class Del4 {publ ...
- php 浮点型float 强转int php金额计算 php元转分
float 转int导致的误差太大,出现下面的问题. 浮点数的精度 浮点数的精度有限.尽管取决于系统,PHP 通常使用 IEEE 754 双精度格式,则由于取整而导致的最大相对误差为 1.11e-16 ...
- 微信支付元转分的正确姿势
1.背景 近期做了一个涉及微信支付的项目,由于工期比较紧张,所以引用了一款GitHub上的第三方SDK,开发效率还是蛮高的.但是在使用的过程中,确实也遇到一些bug.此处分享一下元转分的正确实现方式. ...
最新文章
- 软件开发环境-按开发阶段分类
- 加密货币与智能合约的隐私 (一): 区块链上的隐私
- service调用的存储过程里显式commit,而导致事务不能rollback
- 金九银十中,看看这31道Android面试题
- 一个ABAP程序,能够下载指定的note到本地
- linux idea 权限,Linux下idea由于缺少相关权限导致的tomcat ERROR
- 2008至今,Chrome如何成长为霸主
- 听说有人不了解柔性数组
- vstar为什么登录不了_一手的闲鱼号,为什么现在闲鱼号一号难求
- 悲剧!他写了20000行代码,却连6岁孩子都比不过!
- java计算机毕业设计计算机系教师教研科研管理系统源码+数据库+系统+lw文档+mybatis+运行部署
- JAVA向word模板文档中写入数据并下载
- Java简单端口扫描器
- 什么是OA系统?OA系统的协同门户平台有哪些特点?
- 音频录制(react)
- html 纵向滚动条,css设置纵向滚动条
- 深度deepin20打印失败“Can’t create temporary file”解决方法
- iOS CRC 校验
- 球球英雄服务器维护中,球球英雄有效兑换码20208月未过期
- 文化的影响:整体感知与分析感知
热门文章
- python 培训合肥
- C++ vector数组实现多级排序—使用sort()函数
- HarmonyOS 能否成为世界第三大操作系统?
- 二阶系统阻尼比与稳定性的关系
- mysql查询连续三天100以上_一个SQL查询连续三天的流量100以上的数据值【SQql Server】...
- 2018北京区域赛总结
- leetcode 组合总和(Java)
- WIFI 破解与加固(Aircrack-ng + 无线网卡)
- 推荐一个好用的免费空间
- 计算机动画制作第一节教案,计算机动画制作的教学设计