c# - 将字符串解析为浮点数返回不正确的结果
问题描述
我尝试在 C# 中将字符串转换为浮点数。我尝试了在 C# 中将字符串转换为浮点数中找到的所有变体,但无论如何我得到了错误的结果。
我试过
float.Parse((string)parameter);
float.Parse((string)parameter, CultureInfo.InvariantCulture);
float.Parse((string)parameter, CultureInfo.InvariantCulture.NumberFormat);
(float)Convert.ToDouble((string)parameter);
并且所有这些变体都没有(字符串)演员表。我没有得到编译器错误,但结果是错误的。当我使用Math.sin(convertedParameter)
then 时,3.14159
我得到了结果2,535182E-06
编辑当我3,14159
输入我得到的-0,2622557
- 也许这会有所帮助。
解决方案
我认为您的问题不是关于浮点结果,而是关于字符串格式。2.535182E-06等于0.00000265358,只是另一种显示形式。您可以使用 string.Format 方法来获取您想要的格式。
string.Format("{0:F11}",Math.Sin(3.14159))
推荐阅读
- python - 无法使用 pip gettting 后端 BackendUnavailable 安装 python jsonschema 包
- backend - Strapi 管理页面未在新电脑中加载
- sql-server - 使用 Sqlbulkcopy 将数据从 Sql Server 导出到 Excel
- php - jQuery Ajax 请求无法将所有带有 SQL 查询的数据带到字段中
- perl - Perl:如何在目录及其所有父目录中搜索名为“.cfg”的文件
- php - Symfony 5 - 注意:由于角色,用户创建表单中的数组到字符串转换
- reactjs - React 路由器不适用于 AWS Amplify
- vue.js - Paystack回调方法中的Axios发布调用未触发
- performance - 如何知道 ComputeShader 调度的效率?如果多个调度一个接一个地处理怎么办?
- javascript - 如何在响应式地图中以编程方式缩放到 D3 中的元素?