Go中 字符串和小数转换,并保留小数点后N位

Go语言 字符串和小数转换!  !!! 

避坑系列
func main()  {
	str := "2313.1415926535"
	a, _ := strconv.ParseFloat(str, 32)  
	fmt.Println("a : " ,  a)   // 2313.1416015625    类型: float64  
	b, _ := strconv.ParseFloat(str, 64)
	fmt.Println("b : " ,  b)  //  2313.1415926535    类型:float64
	c, _ := strconv.ParseFloat(fmt.Sprint("%.3f", str), 64)
	fmt.Println("c : " ,c)	  //  0   类型: float64


   //---------------------------------------

	d1 := fmt.Sprintf("%.3f", b)
	fmt.Println("d1 : " , d1)  //  13.14   类型: str

打印结果如下:

		a :  2313.1416015625
		b :  2313.1415926535
		c :  0
		d1 :  2313.142

		不难看出   c和d1 上  
		主要函数   fmt.Sprint("%.3f", 浮点型的参数)
		
		经过查看很简单    	
		在 c 的 输入里有这么一个函数  fmt.Sprint("%.3f", str)
		这个函数的第二个参数str是个 字符串类型 所以转换成了"0"
		而 d1 的  fmt.Sprintf("%.3f", b)   中  b 它是个浮点型的
		第一个参数 来取小数点后位, 我这里写的3f  所以结果为 2313.142
		







  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值