Browse Source

数值部分学习

master
VIVIMAN 3 years ago
parent
commit
5eb5c2a28c
  1. 77
      golang_learn/data_func/go_to_double/main.go

77
golang_learn/data_func/go_to_double/main.go

@ -0,0 +1,77 @@
package main
import (
"fmt"
)
func main() {
fmt.Printf("%d=%d\n", 1+1, 2)
fmt.Printf("%f=%f\n", 0.1+0.1, 0.2)
fmt.Printf("%f=%f\n", 0.1+0.2, 0.3)
fmt.Printf("%f=%f\n", 0.2+0.2, 0.4)
fmt.Printf("科学计数法:%f\n", 1e3)
var name float64 = 1.68
var name2 = 1.2
fmt.Printf("1 > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
fmt.Printf("2 > %T, %#v, %f, %g, %v\n", name2, name2, name2, name2, name2)
name3 := name2 + name
fmt.Printf("+ > %T, %#v, %f, %g, %v\n", name3, name3, name3, name3, name3)
name4 := name2 - name
fmt.Printf("- > %T, %#v, %f, %g, %v\n", name4, name4, name4, name4, name4)
name5 := name2 * name
fmt.Printf("* > %T, %#v, %f, %g, %v\n", name5, name5, name5, name5, name5)
name6 := name2 / name
fmt.Printf("/ > %T, %#v, %f, %g, %v\n", name6, name6, name6, name6, name6)
name = name - 1
fmt.Printf("-1 > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
name = name + 1
fmt.Printf("+1 > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
name++
fmt.Printf("++ > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
name--
fmt.Printf("-- > %T, %#v, %f, %g, %v\n", name, name, name, name, name)
sprintf := fmt.Sprintf("%f", name)
fmt.Printf("%s\n", sprintf)
name9 := 1.99999999999999
sprintf9 := fmt.Sprintf("%f", name9)
fmt.Printf("%s\n", sprintf9)
name9 = 1.9999999
sprintf9 = fmt.Sprintf("%f", name9)
fmt.Printf("%s\n", sprintf9)
name9 = 1.999999
sprintf9 = fmt.Sprintf("%f", name9)
fmt.Printf("%s\n", sprintf9)
fmt.Printf("%d\n", name == 1.680000)
fmt.Printf("%d\n", name == 1.6799999999999997)
/*
%v 按默认格式输出
%+v %v的基础上额外输出字段名
%#v %+v的基础上额外输出类型名
%% %字面量
%b 一个二进制整数将一个整数格式转化为二进制的表达方式
%c 一个Unicode的字符
%d 十进制整数
%o 八进制整数
%x 小写的十六进制数值
%X 大写的十六进制数值
%U 一个Unicode表示法表示的整型码值
%s 输出以原生的UTF8字节表示的字符如果console不支持utf8编码则会乱码
%t 以true或者false的方式输出布尔值
%v 使用默认格式输出值或者如果方法存在则使用类性值的String()方法输出自定义值
%T 输出值的类型
%f 有小数而无指数 fmt.Printf("%f", 10.2) > 10.200000
%g 根据情况选择 %e 或者 %f 以产生更紧凑的无末尾的0输出 fmt.Printf("%f", 10.20) > 10.2
%G 根据情况选择 %E 或者 %f 以产生更紧凑的无末尾的0输出 fmt.Printf("%f", 10.20+2i) > 10.2+2i
*/
}
Loading…
Cancel
Save