3week-2数值处理

1. 整除,计算结果截取整数部分

func main() {
	
	fmt.Println(1/2, 3/2, 5/2)    //0 1 2                   比如3/2=1.5,但是除完的结果是1.5,只要1把不要0.5 // 比如:2/3=0.6666667,只要0,不要0.6666667
	fmt.Println(-1/2, -3/2, -5/2) //0 -1 -2
	fmt.Println("~~~~~~~~~~~~~~~~~~~~~~~")
}

2.math.Ceil向上取整

	fmt.Println(math.Ceil(2.01), math.Ceil(2.5), math.Ceil(2.8)) //3 3 3  //比2多一点,就向上取.所以2.01, 2.5, 2.8都是3
	fmt.Println(math.Ceil(-2.01), math.Ceil(-2.5)) -2 -2
	fmt.Println("~~~~~~~~~~~~~~~~~~~~~~~")

3.math.Floor向下取整

	fmt.Println(math.Floor(2.01), math.Floor(2.5), math.Floor(2.8))    // 2 2 2
	fmt.Println(math.Floor(-2.01), math.Floor(-2.5), math.Floor(-2.8)) //-3 -3 -3

4.math.Round元整.正负数向上四舍五入

	fmt.Println(math.Round(2.01), math.Round(2.5), math.Round(2.8))                 //2 3 3
	fmt.Println(math.Round(-2.01), math.Round(-2.5), math.Round(-2.8))              //-2 -3 -3
	fmt.Println(math.Round(0.5), math.Round(1.5), math.Round(2.5), math.Round(3.5)) //1 2 3 4

5.其它数值处理

func main() {
	fmt.Println(math.Abs(-2.7))                               // 绝对值
	fmt.Println(math.E, math.Pi)                              // 常数
	fmt.Println(math.MaxInt16, math.MinInt16)                 // 常量,极值
	fmt.Println(math.Log10(100), math.Log2(8))                // 对数
	fmt.Println(math.Max(1, 2), math.Min(-2, 3))              // 最大值、最小值
	fmt.Println(math.Pow(2, 3), math.Pow10(3))                // 幂
	fmt.Println(math.Mod(5, 2), 5%2)                          // 取模
	fmt.Println(math.Sqrt(2), math.Sqrt(3), math.Pow(2, 0.5)) // 开方

}

6.标准输入

// Scan从控制台上读取以空白分割的值
func main() {
	var s1, s2 string            //s1,s2,没赋值,用零值
	n, err := fmt.Scan(&s1, &s2) //&取s1的内存,把输入的值赋值给s1,scan返回2个值,n:表示输入几个数,一个是err,如果err != nil,err里有东西
	if err != nil {              //如果err有值,不等于空,那就是有错误
		panic(err)
	}
	fmt.Println(n)
	fmt.Printf("%T %[1]s %T   %[2]s \n", s1, s2)
}

6.1 标准输入时候,如果语句中,需要重复用同一个变量.那么,把变量放在最上面声明,然后,在语句中不断给变量重新赋值

6.2多个标准输入,多输入了,缓存问题

6.3 如果不判断 err,并且输入错误,为了防止程序崩溃,会使用零值

func main() {
	var i3, i4 int
	fmt.Println("输入2个int:")
	n, err = fmt.Scan(&i3, &i4)
	// if err != nil {
	// 	panic(err)
	// }
	fmt.Printf("%T %[1]d %T %[2]d", i3, i4)
}

posted @ 2023-01-02 14:00  john5的博客  阅读(44)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css