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
		








版权声明:本文为weixin_46169573原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。