.NET的数学库NMath实用教程——从字符串创建向量

本文主要介绍Nmath的实用教程之如何从字符串创建向量

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

.NET的数学库NMath实用教程——从字符串创建向量NMath最新版本免费下载试用

在上一篇连载教程中我们介绍了如何从数值创建向量,在本文中我们将介绍从字符串创建向量,即从[v1 v2 v3 …]表示形式的字符串构造向量。括号是可选的,忽略额外的空格。同样,这些构造函数创建了新数据块的新视图。例如:

C#向量代码示例

string s = "4.3 -232   5.344 23.4   -32.43      ";var v = new DoubleVector( s );s = "[ (4.3,3.5) (23.4,-234.3) (-21.2,0) ]";var u = new DoubleComplexVector( s );

VB向量代码示例

Dim S As String = "4.3 -232   5.344 23.4   -32.43      "Dim V As New DoubleVector(S)S = "[ (4.3,3.5) (23.4,-234.3) (-21.2,0) ]"Dim U As New DoubleComplexVector(S)

构造函数可选的第二个参数接受来自System.Globalization.NumberStyles枚举的值。这些样式由数字基类型的Parse()方法使用。例如:

C#向量代码示例

using System.Globalization;string s = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)";var v = new FloatVector( s,     NumberStyles.AllowCurrencySymbol |     NumberStyles.AllowDecimalPoint |     NumberStyles.AllowParentheses );

VB向量代码示例

Imports System.GlobalizationDim S As String = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)"Dim V As New FloatVector(s,  NumberStyles.AllowCurrencySymbol Or  NumberStyles.AllowDecimalPoint Or  NumberStyles.AllowParentheses)

注意:即使空格被设置为组分隔符,同样也被解释为数据分隔符。另外Currency表示基于System.Globalization.CultureInfo中的区域设置信息,除非您覆盖该信息。

最后,您可以从给定的文本阅读器构造一个向量,只需将文本阅读器放在向量的有效文本表示的开头即可。在这种情况下括号是必需的,因为文本阅读器读取流直到遇到结束括号为止。例如:

C#向量代码示例

var reader = new StreamReader( "data.txt" );// ... read until start of vectorvar v = new DoubleVector( reader );

VB向量代码示例

Dim Reader As New StreamReader("data.txt")' ... read until start of vectorDim V As New DoubleVector(Reader)

同样,可选的第二个参数接受来自System.Globalization.NumberStyles枚举的值。

您也可以使用静态Parse()方法从字符串表示创建向量,而不是使用构造函数。向量类提供Parse()方法的重载,该方法接受字符串、字符串加数字样式、文本阅读器以及文本阅读器加数字样式。例如:

C#向量代码示例

string s = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)";FloatVector v = FloatVector.Parse( s,  NumberStyles.AllowCurrencySymbol |  NumberStyles.AllowDecimalPoint |  NumberStyles.AllowParentheses );

VB向量代码示例

Dim S As String = "$4.52 $4.32 $4.56 $9.94 ($0.04) ($5.00)"Dim V As FloatVector = FloatVector.Parse(s,  NumberStyles.AllowCurrencySymbol Or  NumberStyles.AllowDecimalPoint Or  NumberStyles.AllowParentheses)

相反,重写的ToString()成员函数返回形式为[v1 v2 v3 …]向量的字符串表示形式 。ToString()方法的变体也接受标准的.NET数字格式字符串。例如,格式字符串“C”表示Currency概念:

C#向量代码示例

var v = new DoubleVector( "[ 1.12 8.95 3.95 4.60 ]" );Console.WriteLine( v.ToString( "C" ) );

VB向量代码示例

Dim V As New DoubleVector("[ 1.12 8.95 3.95 4.60 ]")Console.WriteLine(V.ToString("C"))

您可以从ADO.NET对象如DataTable、DataRow对象的数组、DataRowCollection或DataView创建矢量对象。


更多NMath实用教程敬请关注!

想要购买NMath正版授权,或者获取更多该产品相关信息的朋友可以点击” 咨询在线客服 “~

标签:数学计算

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年1月9日
下一篇 2019年1月9日

相关推荐

发表回复

登录后才能评论