本文将为您提供关于java.math包简介的详细介绍,我们还将为您解释java的math包的相关知识,同时,我们还将为您提供关于gomath包+整形和浮点型互化、golangmath包中除法的用法、g
本文将为您提供关于java.math包简介的详细介绍,我们还将为您解释java的math包的相关知识,同时,我们还将为您提供关于go math包+ 整形和浮点型互化、golang math包中除法的用法、go语言math包中有哪些常用方法、go语言path包和filepath包的学习与使用的实用信息。
本文目录一览:- java.math包简介(java的math包)
- go math包+ 整形和浮点型互化
- golang math包中除法的用法
- go语言math包中有哪些常用方法
- go语言path包和filepath包的学习与使用
java.math包简介(java的math包)

RoundingMode

舍入模式
UP | 远离零方向舍入 |
DOWN | 向零方向舍入 |

CEILING | 向正无限大方向舍入 |
FLOOR | 向负无限大方向舍入 |

HALF_UP | 向最接近数字方向舍入 如果与两个相邻数字的距离相等,则向上舍入 |
HALF_DOWN | 向最接近数字方向舍入 如果与两个相邻数字的距离相等,则向下舍入 |
HALF_EVEN |
向最接近数字方向舍入
如果与两个相邻数字的距离相等,则向相邻的偶数舍入
|
UNNECESSARY | 用于断言的舍入模式 请求的操作具有精确的结果,不需要进行舍入 |
示例


MathContext



构造方法
MathContext(int setPrecision, RoundingMode setRoundingMode)
构造一个新的 MathContext,它具有指定的精度和舍入模式
|
MathContext(int setPrecision)
构造一个新的 MathContext,它具有指定的精度和 HALF_UP 舍入模式
调用上一个构造方法
![]() |
MathContext(String val)
根据字符串构造一个新的 MathContext
注意:该字符串的格式必须与 toString() 方法生成的字符串的格式相同不是可以随便写的!! |
equals

toString

常量
static MathContext
DECIMAL128
其精度设置与 IEEE 754R Decimal128 格式(即 34 个数字)匹配
舍入模式为 HALF_EVEN
这是 IEEE 754R 的默认舍入模式
|
static MathContext
DECIMAL32
其精度设置与 IEEE 754R Decimal32 格式(即 7 个数字)匹配
舍入模式为 HALF_EVEN
这是 IEEE 754R 的默认舍入模式
|
static MathContext
DECIMAL64
其精度设置与 IEEE 754R Decimal64 格式(即 16 个数字)匹配
舍入模式为 HALF_EVEN
这是 IEEE 754R 的默认舍入模式
|
static MathContext
UNLIMITED
其设置具有无限精度算法所需值的 MathContext 对象
|

总结
go math包+ 整形和浮点型互化
math包,go sdk用来做数学运算的包。
func main() {
//四舍五入
fmt.Println(math.Round(3.4))
fmt.Println(math.Round(3.5))
//绝对值
fmt.Println(math.Abs(-3.4))
//乘方
fmt.Println(math.Pow(2,3))
//开方根
fmt.Println(math.Sqrt(9))
}
golang math包中除法的用法
随着go语言的普及,越来越多的开发者开始尝试使用go语言进行编程。而在golang中,math包提供了许多数学计算的函数,其中就包括了除法的计算。本文将介绍golang math包中除法的用法和相关注意事项。
在golang中,我们可以使用math包中的Div函数来进行除法运算。Div函数的定义如下:
1 |
|
Div函数接收两个浮点数参数x和y作为输入,返回x除以y的结果。接下来,我们通过一些示例来详细介绍Div函数的使用。
- 常规除法计算
我们先来看一下Div函数的最基本用法,即进行常规的除法计算。下面的代码演示了如何使用Div函数计算10除以3的结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
执行上面的代码,输出结果为3.3333333333333335。可以看到,Div函数在这里正确地计算了10除以3的结果。
立即学习“go语言免费学习笔记(深入)”;
- 对0进行除法运算
在进行除法运算时,必须注意避免被除数为0的情况。当被除数为0时,Div函数将返回一个特殊值NaN(Not a Number)。
下面的代码演示了如何使用Div函数进行除以0的运算:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
执行上面的代码,输出结果为NaN。可以看到,Div函数在遇到被除数为0的情况时,正确地返回了NaN。
- 对负数进行除法运算
当对负数进行除法运算时,结果可能会出现一些奇怪的情况。例如,当进行10除以-3的运算时,结果应该为-3.33333...,但Div函数却返回了-3.333333333333333,这是因为golang中除法的取整规则是向0取整,导致结果被舍去了小数部分的一位。
下面的代码演示了如何使用Div函数计算10除以-3的结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
执行上面的代码,输出结果为-3.333333333333333。可以看到,Div函数在这里正确地计算了10除以-3的结果,但由于向0取整的规则导致结果被舍去了一位小数。
在对负数进行除法运算时,如果需要得到精确的结果,可以使用golang内置的math包中的Round函数对结果进行四舍五入的处理。
- 精度问题
除法运算可能出现精度问题,导致计算的结果不够准确。例如,在进行0.1除以3的运算时,结果应该为0.03333...,但Div函数返回的结果却是0.03333333333333333。这是因为0.1在计算机中无法精确表示,因此在进行除法运算时,可能会出现一些小数位上的精度误差。
在进行除法计算时,应当注意这种精度误差的问题。如果需要更高的精度,可以考虑使用golang中的big包来进行高精度计算。
综上所述,golang math包提供的Div函数可以方便地进行除法运算。但在使用Div函数时,需要注意对0和负数的处理以及精度误差的问题。为了确保计算结果的准确性,我们应当对计算结果进行适当的处理和校验。
以上就是golang math包中除法的用法的详细内容,更多请关注php中文网其它相关文章!
go语言math包中有哪些常用方法
go语言math包中的常用方法有:1、取绝对值方法abs();2、幂次方方法pow();3、开平方方法sqrt();4、开立方方法cbrt();5、向上取整方法ceil();6、向下取整方法floor()。
本文环境:windows10系统、Go 1.11.2版本,本文适用于所有品牌的电脑。
(学习视频分享:编程视频)
详细介绍:
math包中常用的方法如下所示:
立即学习“go语言免费学习笔记(深入)”;
package main import ( "fmt" "math" ) func main() { /* 取绝对值,函数签名如下: func Abs(x float64) float64 */ fmt.Printf("[-3.14]的绝对值为:[%.2f]\n", math.Abs(-3.14)) /* 取x的y次方,函数签名如下: func Pow(x, y float64) float64 */ fmt.Printf("[2]的16次方为:[%.f]\n", math.Pow(2, 16)) /* 取余数,函数签名如下: func Pow10(n int) float64 */ fmt.Printf("10的[3]次方为:[%.f]\n", math.Pow10(3)) /* 取x的开平方,函数签名如下: func Sqrt(x float64) float64 */ fmt.Printf("[64]的开平方为:[%.f]\n", math.Sqrt(64)) /* 取x的开立方,函数签名如下: func Cbrt(x float64) float64 */ fmt.Printf("[27]的开立方为:[%.f]\n", math.Cbrt(27)) /* 向上取整,函数签名如下: func Ceil(x float64) float64 */ fmt.Printf("[3.14]向上取整为:[%.f]\n", math.Ceil(3.14)) /* 向下取整,函数签名如下: func Floor(x float64) float64 */ fmt.Printf("[8.75]向下取整为:[%.f]\n", math.Floor(8.75)) /* 取余数,函数签名如下: func Floor(x float64) float64 */ fmt.Printf("[10/3]的余数为:[%.f]\n", math.Mod(10, 3)) /* 分别取整数和小数部分,函数签名如下: func Modf(f float64) (int float64, frac float64) */ Integer, Decimal := math.Modf(3.14159265358979) fmt.Printf("[3.14159265358979]的整数部分为:[%.f],小数部分为:[%.14f]\n", Integer, Decimal) }
看图:
相关推荐:golang教程
以上就是
go语言path包和filepath包的学习与使用
path包的使用
package main; import ( "fmt" "path" ) //go语言path包的学习 func main() { //返回路径的最后一个元素 fmt.Println(path.Base("./a/b/c")); //如果路径为空字符串,返回. fmt.Println(path.Base("")); //如果路径只有斜线,返回/ fmt.Println(path.Base("///")); //返回等价的最短路径 //1.用一个斜线替换多个斜线 //2.清除当前路径. //3.清除内部的..和他前面的元素 //4.以/..开头的,变成/ fmt.Println(path.Clean("./a/b/../")); //返回路径最后一个元素的目录 //路径为空则返回. fmt.Println(path.Dir("./a/b/c")); //返回路径中的扩展名 //如果没有点,返回空 fmt.Println(path.Ext("./a/b/c/d.jpg")); //判断路径是不是绝对路径 fmt.Println(path.IsAbs("./a/b/c")); fmt.Println(path.IsAbs("/a/b/c")); //连接路径,返回已经clean过的路径 fmt.Println(path.Join("./a","b/c","../d/")); //匹配文件名,完全匹配则返回true fmt.Println(path.Match("*","a")); fmt.Println(path.Match("*","a/b/c")); fmt.Println(path.Match("\\b","b")); //分割路径中的目录与文件 fmt.Println(path.Split("./a/b/c/d.jpg")); }
filepath包的使用
package main; import ( "path/filepath" "fmt" "os" ) //学习filepath包,兼容各操作系统的文件路径 func main() { //返回所给路径的绝对路径 path,_ := filepath.Abs("./1.txt"); fmt.Println(path); //返回路径最后一个元素 fmt.Println(filepath.Base("./1.txt")); //如果路径为空字符串,返回. fmt.Println(filepath.Base("")); //如果路径只有斜线,返回/ fmt.Println(filepath.Base("///")); //返回等价的最短路径 //1.用一个斜线替换多个斜线 //2.清除当前路径. //3.清除内部的..和他前面的元素 //4.以/..开头的,变成/ fmt.Println(filepath.Clean("C:/a/b/../c")); fmt.Println(filepath.Clean("./1.txt")); //返回路径最后一个元素的目录 //路径为空则返回. fmt.Println(filepath.Dir("./a/b/c")); fmt.Println(filepath.Dir("C:/a/b/c")); //返回链接文件的实际路径 path2,_ := filepath.EvalSymlinks("1.lnk"); fmt.Println(path2); //返回路径中的扩展名 //如果没有点,返回空 fmt.Println(filepath.Ext("./a/b/c/d.jpg")); //将路径中的/替换为路径分隔符 fmt.Println(filepath.FromSlash("./a/b/c")); //返回所有匹配的文件 match,_ := filepath.Glob("./*.go"); fmt.Println(match); //判断路径是不是绝对路径 fmt.Println(filepath.IsAbs("./a/b/c")); fmt.Println(filepath.IsAbs("C:/a/b/c")); //连接路径,返回已经clean过的路径 fmt.Println(filepath.Join("C:/a","/b","/c")); //匹配文件名,完全匹配则返回true fmt.Println(filepath.Match("*","a")); fmt.Println(filepath.Match("*","C:/a/b/c")); fmt.Println(filepath.Match("\\b","b")); //返回以basepath为基准的相对路径 path3,_ := filepath.Rel("C:/a/b","C:/a/b/c/d/../e"); fmt.Println(path3); //将路径使用路径列表分隔符分开,见os.pathListSeparator //linux下默认为:,windows下为; fmt.Println(filepath.SplitList("C:/windows;C:/windows/system")); //分割路径中的目录与文件 dir,file := filepath.Split("C:/a/b/c/d.jpg"); fmt.Println(dir,file); //将路径分隔符使用/替换 fmt.Println(filepath.ToSlash("C:/a/b")); //返回分区名 fmt.Println(filepath.VolumeName("C:/a/b/c")); //遍历指定目录下所有文件 filepath.Walk("./",func(path string,info os.FileInfo,err error) error { fmt.Println(path); return nil; }); }
今天关于java.math包简介和java的math包的讲解已经结束,谢谢您的阅读,如果想了解更多关于go math包+ 整形和浮点型互化、golang math包中除法的用法、go语言math包中有哪些常用方法、go语言path包和filepath包的学习与使用的相关知识,请在本站搜索。
本文标签: