ShoneSharp语言(S#)的设计和使用介绍系列(5)— 数值Double
ShoneSharp语言(S#)的设计和使用介绍
系列(5)— 数值Double
作者:Shone
声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp。
摘要: S#语言的最基本类型——数值(对应C#的Double),可用于表示整数或实数值,如10、25.32等。S#只有一种数值类型,可避免类型转换和运算陷阱。本文详细列出数值类型专用的常量、函数、属性以及方法,包括语法格式、成员说明、输入示例以及求值结果。
软件: S#语言编辑解析运行器(ShoneSharp.13.6.exe),运行环境.NET4.0,单EXE直接运行,绿色软件无副作用。网盘链接https://pan.baidu.com/s/1nv1hmJn
今天详细解释一下S#语言的最基本类型——数值(对应C#的双精度浮点数类型double),可用于表示整数或实数值,如10、25.32等。
注意C#中还有int, float, byte, short, long等多种数值类型,为什么S#只有一种数值类型?
S#这样设计就是为了简化常规数据输入,避免进行类型转换,同时也避免部分符号的运算陷阱。比如:在C#中5/2等于2,而5/2.0则等于2.5,这对于用户大量输入数据公式时很容易犯下错误,而且不容易察觉。因此S#这样设计可以确保5/2等于2.5。
S#语言为数值类型专门提供了大量的常量、函数、属性以及方法,具体语法格式、成员说明、输入示例以及求值结果都在下面详细列出,可供参考。
其实还有些适用于数值类型的算符、函数、属性以及方法,如10+20、cos(30)、5.2.ToStr等,没有在本节列出而是放在其基类型——任意对象(对应C#的object)中介绍,因为这些符号功能更加强大,不但支持数值,还支持数组、列表和数据表的计算。比如[10,15]+20、cos({30,40,50})、{5.2,[1,2],6}.ToStr。
(1) 常量
Double BaseE
说明:自然对数底e
输入:BaseE
求值:2.7182818284590451
Double DecFactor
说明:角度系数
输入:DecFactor
求值:57.295779513082323
Double DoubleE
说明:2e
输入:DoubleE
求值:5.43656365691809
Double DoubleEpsilon
说明:2ε
输入:DoubleEpsilon
求值:2E-06
Double DoublePI
说明:2π
输入:DoublePI
求值:6.2831853071795862
Double Epsilon
说明:误差因子ε
输入:Epsilon
求值:1E-06
Double HalfE
说明:e/2
输入:HalfE
求值:1.3591409142295225
Double HalfEpsilon
说明:ε/2
输入:HalfEpsilon
求值:5E-07
Double HalfND
说明:-0.5的标准正态分布概率值
输入:HalfND
求值:0.3085
Double HalfPI
说明:π/2
输入:HalfPI
求值:1.5707963267948966
Double MaxValue
说明:最大数值 1.7976931348623157E+308
输入:MaxValue
求值:1.7976931348623157E+308
Double MinValue
说明:最小数值 -1.7976931348623157E+308
输入:MinValue
求值:-1.7976931348623157E+308
Double NaN
说明:非数字0/0、∞/∞、sqrt(负数)、ln(负数)等
输入:NaN
Double NEpsilon
说明:-ε
输入:NEpsilon
求值:-1E-06
Double NInfinity
说明:负无穷大-∞
输入:NInfinity
求值:-∞
Double OneEpsilon
说明:1+ε
输入:OneEpsilon
求值:1.000001
Double OneHalfND
说明:-1.5的标准正态分布概率值
输入:OneHalfND
求值:0.0668
Double OneND
说明:-1的标准正态分布概率值
输入:OneND
求值:0.1587
Double OneNEpsilon
说明:1-ε
输入:OneNEpsilon
求值:0.999999
Double OneSigma
说明:1σ区间概率累计值
输入:OneSigma
求值:0.6826
Double PI
说明:圆周率π
输入:PI
求值:3.1415926535897931
Double PInfinity
说明:正无穷大∞
输入:PInfinity
求值:∞
Double Precision
说明:小数点精度位数
输入:Precision
求值:6
Double RadFactor
说明:弧度系数
输入:RadFactor
求值:0.017453292519943295
Double SqrdE
说明:e平方
输入:SqrdE
求值:7.3890560989306495
Double SqrdEpsilon
说明:ε平方
输入:SqrdEpsilon
求值:1E-12
Double SqrdPI
说明:π平方
输入:SqrdPI
求值:9.869604401089358
Double SqrtE
说明:e平方根
输入:SqrtE
求值:1.6487212707001282
Double SqrtEpsilon
说明:ε平方根
输入:SqrtEpsilon
求值:0.001
Double SqrtPI
说明:π平方根
输入:SqrtPI
求值:1.7724538509055159
Double ThreeHD
说明:-3的标准正态分布概率值
输入:ThreeHD
求值:0.0013
Double ThreeSigma
说明:3σ区间概率累计值
输入:ThreeSigma
求值:0.9974
Double TwoHalfND
说明:-2.5的标准正态分布概率值
输入:TwoHalfND
求值:0.0062
Double TwoND
说明:-2的标准正态分布概率值
输入:TwoND
求值:0.0228
Double TwoSigma
说明:2σ区间概率累计值
输入:TwoSigma
求值:0.9544
(2) 函数
Double ang(Double x, Double y)
说明:求点坐标(x,y)逆时针方向角度值
输入:ang(10,10)
求值:45
Double area(Double a, Double b, Double c)
说明:求边长为a,b,c三角形的面积
输入:area(10,10,10)
求值:43.301270189221931
Double avd(Double m, Double L, Double d)
说明:求长度L间距d的等分距,m为等距模式:-1最小间距,0近似间距,1最大间距
输入:avd(0,100,30)
求值:33.333333333333336
Double avn(Double m, Double L, Double d)
说明:求长度L间距d的等分数,m为等距模式:-1最小间距,0近似间距,1最大间距
输入:avn(0,100,30)
求值:3
Double cmb(Double n, Double r)
说明:求(n,r)组合值
输入:cmb(10,2)
求值:45
Double dist(Double x1, Double y1, Double x2, Double y2)
说明:求点(x1,y1)到点(x2,y2)的距离平方
输入:dist(0,0,10,10)
求值:14.142135623730951
Double distsqrd(Double x1, Double y1, Double x2, Double y2)
说明:求点(x1,y1)到点(x2,y2)的距离平方
输入:distsqrd(0,0,10,10)
求值:200
Double dx(Double r, Double a)
说明:求极坐标(r,a)在X轴投影值
输入:dx(100,30)
求值:86.602540378443877
Double dy(Double r, Double a)
说明:求极坐标(r,a)在Y轴投影值
输入:dy(100,30)
求值:50
Double gauss(Double x)
说明:高斯标准正态分布函数
输入:gauss(0.5)
求值:0.35206532676429952
Double gauss(Double x, Double u, Double e)
说明:高斯正态分布函数
输入:gauss(0.5,0,1)
求值:0.35206532676429952
Double gcd(Double a, Double b)
说明:计算两个整数的最大公约数
输入:gcd(20,12)
求值:4
Double lcm(Double a, Double b)
说明:计算两个整数的最小公倍数
输入:lcm(20,12)
求值:60
Double max(Double val1, Double val2)
说明:求最大值
输入:max(1,10)
求值:10
Double mid(Double d1, Double d2)
说明:求[d1,d2]区间的中值
输入:mid(0,10)
求值:5
Double min(Double val1, Double val2)
说明:求最小值
输入:min(1,10)
求值:1
Double norm(Double a)
说明:求[0,360]区间规格化角度值
输入:norm(390)
求值:30
Double pbl2(Double x)
说明:二次过渡函数(抛物线)
输入:pbl2(0.5)
求值:0.25
Double pbl3(Double x)
说明:三次过渡函数(抛物线)
输入:pbl3(0.5)
求值:0.5
Double pbl4(Double x)
说明:四次过渡函数(抛物线)
输入:pbl4(0.5)
求值:0.3125
Double pbla(Double x)
说明:圆弧过渡函数
输入:pbla(0.5)
求值:0.2632316107465042
Double pblaa(Double x)
说明:双圆弧过渡函数
输入:pblaa(0.5)
求值:0.5
Double pbls(Double x)
说明:正弦线过渡函数
输入:pbls(0.5)
求值:0.29289321881345254
Double pblss(Double x)
说明:双正弦线过渡函数
输入:pblss(0.5)
求值:0.5
Double pmt(Double n)
说明:求排列值
输入:pmt(10)
求值:3628800
Double pmt(Double n, Double r)
说明:求(n,r)排列值
输入:pmt(10,2)
求值:90
Double rang(Double x, Double y)
说明:求点坐标(x,y)逆时针方向弧度值
输入:rang(10,10)
求值:0.78539816339744828
Double rnorm(Double a)
说明:求[0,2π]区间规格化弧度值
输入:rnorm(10)
求值:3.7168146928204138
Double root(func(…) fx, Double a, Double b)
说明:用二分法求[a,b]区间指定函数的根,注意必须单调函数且必有根
输入:root(x=>2*x-1,-1,1)
求值:0.5
Double[] roots(func(…) fx, Double a, Double b)
说明:返回指定区间[a,b]内指定函数的根数组(最多5个)
输入:roots(x=>x*x-0.5,-1,1)
求值:[-0.70710678100585933, 0.70710678100585933]
Double spl(Double L, Double d, Double w)
说明:求长度L间距d等宽的螺旋钢筋总长
输入:spl(50,5,30)
求值:945.74462665601391
Double spl(Double L, Double d, Double w1, Double w2)
说明:求长度L间距d变宽w1~w2的螺旋钢筋总长
输入:spl(50,5,15,30)
求值:525.51295716469406
(3) 属性
Bool Double.ApproxZero
说明:判断数值是否近似于0(误差ε)
输入:x.ApproxZero
String Double.CharStr
说明:转换为单个字符串,如"A"
输入:x.CharStr
Bool Double.EqualZero
说明:判断数值是否约等于0(误差ε平方)
输入:x.EqualZero
Double Double.Factor
说明:获取数值整数部分的分解因子
输入:x.Factor
Double[] Double.Factors
说明:获取数值整数部分的分解因子数组
输入:x.Factors
Bool Double.IsEven
说明:判断数值整数部分是否为偶数
输入:x.IsEven
Bool Double.IsInvalid
说明:判断数值是否无效(无穷大或非数字)
输入:x.IsInvalid
Bool Double.IsOdd
说明:判断数值整数部分是否为奇数
输入:x.IsOdd
Bool Double.IsPrime
说明:判断数值整数部分是否为质素
输入:x.IsPrime
Bool Double.IsValid
说明:判断数值是否有效
输入:x.IsValid
String Double.LevelStr
说明:转换为3位小数点标高串,如4.250
输入:x.LevelStr
Bool Double.NearZero
说明:判断数值是否靠近于0(误差ε平方根)
输入:x.NearZero
Double Double.Odd
说明:返回整数部分0/1
输入:x.Odd
String Double.ScaleStr
说明:转换为比例格式标高串,如1:4
输入:x.ScaleStr
(4) 方法
Bool Double.Approxes(Double d2)
说明:判断数值是否近似(误差ε)
输入:x.Approxes(10)
Bool Double.Betweens(Double a, Double b)
说明:判断数值是否∈[a,b]
输入:x.Betweens(0,10)
Bool Double.Betweins(Double a, Double b)
说明:判断数值是否∈[a,b)
输入:x.Betweins(0,10)
Bool Double.Betwiens(Double a, Double b)
说明:判断数值是否∈(a,b]
输入:x.Betwiens(0,10)
Bool Double.Betwiins(Double a, Double b)
说明:判断数值是否∈(a,b)
输入:x.Betwiins(0,10)
Bool Double.Equals(Double d2)
说明:判断数值是否约等(误差ε平方)
输入:x.Equals(10)
Double Double.Interplate(Double d2, Double t)
说明:计算线性插值
输入:x.Interplate(10,0.5)
Double Double.Interplate(Double d2, ILambada func, Double t)
说明:计算自定义函数插值
输入:x.Interplate(10,x=>2*x*x-x,0.5)
Double Double.Interplate(Double d2, Object mode, Double t)
说明:按模式进行插值(mode=0/1线性,=10/11三次抛物线,=20/21四次抛物线,=30/31二次抛物线,=40/41圆弧,=50/51双圆弧,=60/61正弦线,=70/71双正弦线,=80/81常量线)
输入:x.Interplate(10,0,0.5)
Bool Double.Nears(Double d2)
说明:判断数值是否靠近(误差ε平方根)
输入:x.Nears(10)
Bool Double.Nears(Double d2, Double nearness)
说明:判断数值是否靠近(指定误差)
输入:x.Nears(10,0.001)
String Double.ToShortStr(Double delta)
说明:转换为短字符串,保持指定精度
输入:x.ToShortStr(0.001)
String Double.ToStr(String format)
说明:转换为指定格式字符串
输入:x.ToStr('f1')
声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp。
软件: S#语言编辑解析运行器(ShoneSharp.13.6.exe),运行环境.NET4.0,单EXE直接运行,绿色软件无副作用。网盘链接https://pan.baidu.com/s/1nv1hmJn
ShoneSharp语言(S#)的设计和使用介绍系列(5)— 数值Double的更多相关文章
- ShoneSharp语言(S#)的设计和使用介绍系列(1)— 开篇
ShoneSharp语言(S#)的设计和使用介绍 系列(1)- 开篇 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. 一 ...
- ShoneSharp语言(S#)的设计和使用介绍系列(4)— 入门概述
ShoneSharp语言(S#)的设计和使用介绍 系列(4)- 入门概述 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...
- ShoneSharp语言(S#)的设计和使用介绍系列(3)— 修炼工具
ShoneSharp语言(S#)的设计和使用介绍 系列(3)- 修炼工具 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...
- ShoneSharp语言(S#)的设计和使用介绍系列(2)— 掀开盖头
ShoneSharp语言(S#)的设计和使用介绍 系列(2)- 掀开盖头 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSharp. ...
- ShoneSharp语言(S#)的设计和使用介绍系列(11)—“类”披炫服靓妆化成“表”
ShoneSharp语言(S#)的设计和使用介绍 系列(11)—“类”披炫服靓妆化成“表” 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Sh ...
- ShoneSharp语言(S#)的设计和使用介绍系列(10)— 富家子弟“语句“不炫富
ShoneSharp语言(S#)的设计和使用介绍 系列(10)— 富家子弟“语句“不炫富 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Sho ...
- ShoneSharp语言(S#)的设计和使用介绍系列(9)— 一等公民“函数“爱炫巧
ShoneSharp语言(S#)的设计和使用介绍 系列(9)— 一等公民“函数“爱炫巧 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/Shon ...
- ShoneSharp语言(S#)的设计和使用介绍系列(8)— 最炫“公式”风
ShoneSharp语言(S#)的设计和使用介绍 系列(8)— 最炫“公式”风 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneSha ...
- ShoneSharp语言(S#)的设计和使用介绍系列(7)— 布尔Bool及对象Object
ShoneSharp语言(S#)的设计和使用介绍 系列(7)— 布尔Bool及对象Object 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ ...
- ShoneSharp语言(S#)的设计和使用介绍系列(6)— 字符串String
ShoneSharp语言(S#)的设计和使用介绍 系列(6)— 字符串String 作者:Shone 声明:原创文章欢迎转载,但请注明出处,https://www.cnblogs.com/ShoneS ...
随机推荐
- 解读网易易盾新一代IoT安全编译器Maze
一.网易易盾为什么会推出安全编译器Maze? 随着5G时代的到来,会有越来越多的物联网设备走进我们的生活,然而物联网的终端本身普遍处于白盒环境中,***者很容易获取相关的信息进行***,这个时候如果不 ...
- MySQL权限原理及删除MySQL的匿名账户
MySQL权限系统的工作原理 MySQL权限系统通过下面两个阶段进行认证: (1)对连接的用户进行身份认证,合法的用户通过认证,不合法的用户拒绝连接: (2)对通过认证的合法用户赋予相应的权限,用户可 ...
- Spring源码学习——自定义标签
2019独角兽企业重金招聘Python工程师标准>>> 1.自定义标签步骤 创建一个需要扩展的组件 定义xsd文件描述组件内容 创建一个文件,实现BeanDefinitionPars ...
- 【WPF学习】第六十八章 自定义绘图元素
上一章分析了WPF元素的内部工作元素——允许每个元素插入到WPF布局系统的MeasureOverride()和ArrangeOverride()方法中.本章将进一步深入分析和研究元素如何渲染自身. 大 ...
- MySQL 子查询——查询最大值
子查询指将一个查询语句嵌套在另一个查询语句中.子查询可以在 SELECT.UPDATE 和 DELETE 语句中使用,而且可以进行多层嵌套.在实际开发时,子查询经常出现在 WHERE 子句中.子查询在 ...
- jQuery中的查找节点、创建节点、插入节点、删除节点、替换节点、复制节点操作方法
jQuery操作节点我们可以分六点来讲,查找节点.创建节点.插入节点.删除节点.替换节点.复制节点. 一.查找节点 text() - 设置或返回所选元素的文本内容 ,html() - 设置或返回所 ...
- N - Marriage Match II 网络流
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3081 推荐博客:https://www.cnblogs.com/liuxin13/p/4728131. ...
- Oracle的pl/sql变量类型
pl/sql定义 sql是结构化查询语言.sql是不是一个编程语言?编程语言一般都能够声明变量,写条件判断,循环.sql不具备这些特征,所有sql不是一门编程语言.我们在实际的开发中,有这种需要,把s ...
- Dynamics 9.0 安装好后 公告出现 提示:出现错误。 请稍等片刻,然后重试。 如果问题仍然存在,请与管理员联系。
此问题为系统的Bug,示例图如下: 解决方案为修改存储过程 p_RetrievePosts,将startDate参数的默认值改成 1900-01-01,endDate参数的默认值改成 9999-12- ...
- java读源码之 Queue(ArrayDeque,附图,希望能一起交流)
除了并发应用(并发包下的代码我之后会专门写),Queue在JavaSE5中仅有的两个实现是LinkedList和PriorityQueue,它们的差异在于排序行为而不是性能.1.6时新增了一个实现Ar ...