Golang BigDecimal 截断 实现(使用 big.Float)

yufei       3 年, 7 月 前       2070

package main

import (
    "math/big"
    "strings"
)

func Trunc(a string, prec int) string {
    newn := strings.Split(a, ".")

    if prec <= 0 {
        return newn[0]
    }

    if len(newn) < 2 || prec >= len(newn[1]) {
        return a
    }

    return newn[0] + "." + newn[1][:prec]
}

func main() {

    a := new(big.Float).SetFloat64(2.0)
    b := new(big.Float).SetFloat64(3.0)
    c := new(big.Float).Quo(a, b)
    println(Trunc(c.Text('g', 512), 1))
}
目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.