.NET的数学库NMath实用教程——创建复数的几种方法

NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,有任何建议或提示请在下方评论区留言,以便学习交流。

本节将介绍如何构造FloatComplexDoubleComplex的实例:

从数值创建复数

您可以从表示实部和虚部的一对数值中构造复数对象。如果仅传递单个值则假定它是实部,并且虚部设置为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实用教程敬请关注!


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值