草庐IT

小数位

全部标签

c# - 关于小数点分隔符的问题

小数点分隔符('.'或',')是否取决于CurrentCulture?我在序列化XML时遇到问题。当我输入“,”作为分隔符时,出现异常。(文化设置为DE-de)问候示例(TestProperties是我自己的测试类)TestPropertiesproperties=newTestPropertiesThread.CurrentThread.CurrentCulture=CultureInfo.CreateSpecificCulture(cultureName);doubletempValue=1.23//Or1,23properties.DoubleValue=tempValue;Xm

xml - 创建具有限制的 XSD 可选小数元素

我已经成功地使用这个创建了一个可选的小数元素:但我还需要添加限制,例如,如果已输入,则将其限制为最大长度10和最大3位小数。所以我得到了这个:问题是我不知道如何组合它们。它们可以结合吗?或者有更好的方法吗? 最佳答案 感谢凯文的建议,我想出了这个办法: 关于xml-创建具有限制的XSD可选小数元素,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7876049/

xml - 如何在xpath中将小数转换为整数?

输入的xml包含以下元素:14.0我需要将数字转换为整数,但有以下限制:XML来自外部来源,我不能要求他们将整数发送给我它必须是XPath,我不能使用任何其他语言 最佳答案 您可以使用round()。xpath查询将是:round(/numberOfPayments/text())或者如果您只对整数部分感兴趣而不进行四舍五入,您可以使用floor():floor(/numberOfPayments/text()) 关于xml-如何在xpath中将小数转换为整数?,我们在StackOver

c# - .NET XmlSerializer 和小数

我在远程xsd文件上使用xsd.exe来生成一些C#类定义。一种类型定义为当我尝试反序列化xml文件时出现错误:ThereisanerrorinXMLdocument(30,12).--->System.FormatException:Inputstringwasnotinacorrectformat.这似乎只有在使用逗号作为分组分隔符(即87,000)时才会发生。如果我检查并删除出现错误的逗号,反序列化工作正常。我可以对xsd进行一些修改以允许逗号分组吗?或者更好的方法是在我的代码中允许它?尝试用逗号解析我的代码中的小数点工作正常,只是不喜欢它在xml文件中。

xml - 需要 XML 模式的小数位数

我想将数字的小数位数限制为正好2。例如-1.00有效,但1、1.0和1.000均无效。这是一个类似的问题:Specifyamountofdecimalplacesofanxs:decimalinanXMLschema这是提供的答案:不幸的是,这仅将小数位数限制为2,并允许具有零位或一位小数的数字。 最佳答案 您可以使用正则表达式将小数位数强制为正好两位,但这样做明智吗?对于生成本应符合此模式的文档的任何人来说,您的生活都变得更加艰难。例如,他们将无法使用XSLT或XQuery生成的默认序列化,而必须自己编写。将规范更改为在接受的内容

c# - 在 C# 中使用德语小数分隔符对双值进行 XML 反序列化

我正在尝试反序列化Movie来自“德语”xml字符串的对象:stringinputString=""+""+"5"+"1,99"//";XmlSerializermovieSerializer=newXmlSerializer(typeof(Movie));MovieinputMovie;using(StringReadersr=newStringReader(inputString)){inputMovie=(Movie)movieSerializer.Deserialize(sr);}System.Console.WriteLine(inputMovie);这里是Movie引用类:

c# - 我可以将小数点符号设置为在我的应用程序中随处使用吗

我在我的应用程序中找到了一个错误,该错误发生在默认小数点符号为逗号而不是句点的国家/地区的人们身上。在C#中有什么方法可以在不影响其他应用程序或永久更改系统设置的情况下为我的应用程序设置小数点符号?我试过了,但它说NumberDecimalSeparator是只读的。Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator="."; 最佳答案 我仍然需要这样做,您可以像这样更改线程上的CurrentCulture:Thread.CurrentThr

c# - float.Parse 在小数点和逗号上失败

当我尝试这条线时:floatf=float.Parse(val,System.Globalization.NumberStyles.AllowDecimalPoint|System.Globalization.NumberStyles.AllowThousands);其中val是设置为“5.267”且不带引号的字符串,我收到此错误:格式异常:未知字符:。System.Double.Parse(System.Strings、NumberStyles样式、IFormatProvider提供程序)System.Single.Parse(System.Strings,NumberStyles样

c# - 关于 C# 中常量小数字段的令人困惑的警告

我在探索大量C#教程时尝试使用const修饰符,并在类中放置了一堆const修饰符,但实际上没有在任何地方使用它们:classConstTesting{constdecimalsomedecimal=1;constintsomeint=2;...}对于此类,我收到以下警告(使用csc):ConstTesting.cs(3,19):warningCS0414:Thefield‘ConstTesting.somedecimal’isassignedbutitsvalueisneverused我不明白的是我只收到针对constdecimal的警告。constint不会给我任何警告,无论顺序或

C# 将小数安全地转换为 int

我正在尝试安全地将小数转换为整数。有点像publicstaticboolDecimal.TryConvertToInt32(decimalval,outintval)如果无法转换为整数,则返回false,如果可以,则返回true并成功输出。这是为了避免在decimal.ToInt32方法中捕获OverflowException。最简单的方法是什么? 最佳答案 这里:publicstaticboolTryConvertToInt32(decimalval,outintintval){if(val>int.MaxValue||val