fusenapi/utils/format/price.go

31 lines
720 B
Go
Raw Normal View History

2023-06-02 19:24:58 +08:00
package format
import (
"fmt"
)
2023-09-21 18:34:29 +08:00
// 厘转美元(四舍五入)
2023-09-21 18:21:31 +08:00
func CentitoDollar(price int64, remainFloatPoint ...uint) string {
s := "%0.3f"
2023-09-21 11:14:14 +08:00
if len(remainFloatPoint) > 0 {
2023-09-21 18:21:31 +08:00
s = fmt.Sprintf("%%0.%df", remainFloatPoint[0])
2023-09-21 11:14:14 +08:00
}
2023-09-21 18:21:31 +08:00
return fmt.Sprintf(s, float64(price)/float64(1000))
2023-06-02 19:24:58 +08:00
}
2023-09-21 12:11:15 +08:00
2023-09-21 18:34:29 +08:00
// 厘转美元(向下截断,舍弃掉厘)用于计算总价
func CentitoDollarWithNoHalfAdjust(price int64, remainFloatPoint ...uint) string {
s := "%0.2f"
if len(remainFloatPoint) > 0 {
s = fmt.Sprintf("%%0.%df", remainFloatPoint[0])
}
t := price / 10
return fmt.Sprintf(s, float64(t)/float64(100))
}
2023-09-21 12:11:15 +08:00
// 厘转美元
2023-09-21 14:26:14 +08:00
func CentitoDollarStr(price float64) string {
2023-09-21 18:22:55 +08:00
s := "%0.2f"
2023-09-21 14:26:14 +08:00
return fmt.Sprintf(s, price/float64(1000))
2023-09-21 12:11:15 +08:00
}