NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,有任何建议或提示请在下方评论区留言,以便学习交流。
本节将介绍如何构造FloatComplex和DoubleComplex的实例:
从数值创建复数
您可以从表示实部和虚部的一对数值中构造复数对象。如果仅传递单个值则假定它是实部,并且虚部设置为0.0。例如:
- C#复数代码示例
var c = new FloatComplex( 1.3, 4.5 ); // 1.3 + 4.5i var c2 = new DoubleComplex( 6.5 ); // 6.5 + 0.0i
- VB复数代码示例
Dim C As New FloatComplex(1.3, 4.5) ' 1.3 + 4.5i Dim C2 As New DoubleComplex(6.5) ' 6.5 + 0.0i
静态FromPolar()函数构造具有给定幅度和相位角的复数:
- C#复数代码示例
var c = DoubleComplex.FromPolar( 2 * Math.Sqrt(2), Math.PI/4 ); // c = 2.0 + 2.0i
- VB复数代码示例
Dim C As DoubleComplex = DoubleComplex.FromPolar(2 * Math.Sqrt(2), Math.PI / 4) ' c = 2.0 + 2.0i
从字符串创建复数
您还可以从表单的字符串表示(real,imag)构造复杂的数字类型。括号是可选的,忽略空格。同样,如果只提供一个值,则假定它是真实的部分。例如4.2,-5.1是有效的字符串,而4.2-5.1i不是有效的字符串。
- C#复数代码示例
string s = "(1.1, -3.23)"; var c = new DoubleComplex( s );
- VB复数代码示例
Dim S As String = "(1.1, -3.23)" Dim C As New DoubleComplex(S)
静态Parse()方法执行相同的功能:
- C#复数代码示例
string s = "(1.1, -3.23)"; DoubleComplex c = DoubleComplex.Parse( s );
- VB复数代码示例
Dim S As String = "(1.1, -3.23)" Dim C As DoubleComplex = DoubleComplex.Parse(s)
注意:在解析复数字符串时,不能像在某些财务格式中那样使用括号来表示负数。
相反的,重写的ToString()成员函数返回复数的字符串表示形式:
- C#复数代码示例
var c = new FloatComplex( 7.61, -1.2 ); Console.WriteLine( c.ToString() ); // prints "(7.61,-1.2)"
- VB复数代码示例
Dim C As New FloatComplex(7.61, -1.2) Console.WriteLine(c.ToString()) ' prints "(7.61,-1.2)"
ToString() 方法的变体也接受标准的.NET数字格式字符串。例如格式字符串“E”表示指数(科学)概念。
隐式转换
复数类的隐式转换运算符如下图所示,箭头表示隐式提升。
更多NMath实用教程敬请关注!
来源:oschina
链接:https://my.oschina.net/u/4031063/blog/3001755