.NET的数学库NMath中如何从字符串创建向量,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,下面主要介绍如何从数值创建向量的基础知识。
我们将介绍从字符串创建向量,即从[v1 v2 v3 ...]表示形式的字符串构造向量。括号是可选的,忽略额外的空格。同样,这些构造函数创建了新数据块的新视图。例如:
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 );
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()方法使用。例如:
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 );
Imports System.Globalization Dim 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中的区域设置信息,除非您覆盖该信息。
最后,您可以从给定的文本阅读器构造一个向量,只需将文本阅读器放在向量的有效文本表示的开头即可。在这种情况下括号是必需的,因为文本阅读器读取流直到遇到结束括号为止。例如:
var reader = new StreamReader( "data.txt"> VB向量代码示例Dim Reader As New StreamReader("data.txt") ' ... read until start of vector Dim 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创建矢量对象。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。