草庐IT

valid_float

全部标签

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# - 使用 System.ComponentModel.DataAnnotations.Validator 验证属性

我的实体设置为DataAnnotation验证属性,我正在尝试使用静态Validator对其进行验证类,但我得到不同的异常,这不是正确的方法吗:string_ValidateProperty(objectinstance,stringpropertyName){varvalidationContext=newValidationContext(instance,null,null);validationContext.MemberName=propertyName;varvalidationResults=newList();varisValid=Validator.TryValida

用于法国文化的 C# float.tryparse

我有一个用户输入,它可以包含范围从3.06或3,06的浮点值我们所处的文化是法语,因此当用户输入3.06并且我对该值运行float.tryParse时,它​​不会转换为3.06到新变量(类型float)中//inputUsedAmount.ValuefromUIis:3.06floatusedAmount=0.0f;float.TryParse(inputUsedAmount.Value,outusedAmount);//returnsfalse我可以简单地从“.”替换从用户界面输入的金额。到“,”,但是有没有一种优雅/更好的方式通过Culture来做到这一点?谢谢

c# - 转换具有句点而不是逗号的 float ?

我有来自数据库(字符串)表的数据,其中包含文本和价格。我从数据中提取价格,但我的问题是有时我可以将其转换为float价格,有时则不能。我注意到了:Convert.ToSingle(m.Groups[1].Value);它有效,但并不总是有效,因为有时句号是问题所在(它需要一个逗号)。我能做什么?我尝试将“.”替换为“,”,但有时在其他PC上需要使用句号! 最佳答案 您遇到此问题是因为转换会检查您PC的语言。您将需要执行以下操作:Convert.ToSingle(m.Groups[1].Value,CultureInfo.Invari

c# - 将字符串解析为 float C#

我在字符串中有float。有一个问题。数字使用“。”不是“,”作为小数点。此代码无效:MyNumber=float.Parse("123.5");我知道我可以在解析之前使用字符串替换函数来“修复”这个字符串。MyNumber=float.Parse("123.5".Replace('.',',');但是还有其他方法吗? 最佳答案 使用字符串替换非常脆弱,会导致一些错误。改为指定IFormatProvider。例如:MyNumber=float.Parse("123.5",CultureInfo.InvariantCulture);或

c# -/平台 :anycpu32bitpreferred is not a valid setting for option/target:library or/target:module

我创建了一个Windows服务项目,后来决定将其输出类型更改为类库,这样我就可以将服务类包含在另一个项目中,该项目将创建要作为服务安装的.exe。但是现在,当我尝试构建第一个项目时,它失败并出现错误:/platform:anycpu32bitpreferredisnotavalidsettingforoption/target:libraryor/target:module我该如何解决这个问题? 最佳答案 尝试卸载项目(在解决方案资源管理器中右键单击)编辑.csproj(右键单击解决方案资源管理器)删除true重新加载项目。

c# - 为什么我会收到 "The modifier ' virtual'is not valid for this item“错误?

我正在尝试使用以下模型创建mvc应用程序:(代码很大。我认为它对您来说更容易理解)publicclassJob{publicintJobId{get;set;}publicstringName{get;set;}publicListGetJobs(){ListjobsList=newList();jobsList.Add(newJob{JobId=1,Name="Operator"});jobsList.Add(newJob{JobId=2,Name="Performer"});jobsList.Add(newJob{JobId=3,Name="Head"});returnjobsLi

c# - 在 C# 中使用 RegEx 验证 float

我正在尝试在WPF中制作一个只有数字的TextBox并且我有以下代码:voidNumericTextBox_PreviewTextInput(objectsender,TextCompositionEventArgse){e.Handled=!IsValidInput(e.Text);}privateboolIsValidInput(stringp){switch(this.Type){caseNumericTextBoxType.Float:returnRegex.Match(p,"^[0-9]*[.][0-9]*$").Success;caseNumericTextBoxType.

c# - 对类实例而不是 float 进行排序时 Array.Sort() 性能下降

如果对float进行排序,C#中的Array.Sort非常快,我需要一些额外的数据来处理这些float,所以我创建了一个简单的类并扩展了IComparable接口(interface)。现在Array.Sort突然慢了3-4倍,这是为什么?我该如何提高性能?演示代码:usingSystem;usingSystem.Diagnostics;usingSystem.Linq;namespaceSortTest{classProgram{staticvoidMain(string[]args){intarraySize=10000;intloops=500;doublenormalFloat

c# - 使用 ToString ("F1"时 float 的舍入不正确)

我有一个浮点值:12345.6489当我格式化时使用:(12345.6489f).ToString("F1")然后我得到一个结果12345.7但这是不正确的,因为它应该是12345.6。有谁知道为什么会发生这种情况?另一个提示是,在格式化之前转换为double会返回正确的结果,如果我的浮点值小一点,例如1234.6489,那么我也会得到正确的结果。 最佳答案 这好像和我前段时间问的一个问题有关:Round-twiceerrorin.NET'sDouble.ToStringmethod请注意,如果您对号码调用.ToString("G"