如何从十进制字符串中去掉零和小数点?

2024-01-23

当前输出以下代码:

12.1
12.100
12.1000
12.00
12
12.0000

我怎样才能改变它,让它输出:

12.1
12.1
12.1
12
12
12

Math.Round 似乎就是这样,但它让我定义了我想要的小数位数,但我希望它们像上面那样是可变的。

如果没有数学方法可以做到这一点,我只会将字符串右侧的零和小数点去掉,但会认为有一种数学方法可以处理这个问题。

using System;
using System.Collections.Generic;

namespace Test8834234
{
    public class Program
    {
        static void Main(string[] args)
        {

            List<string> decimalsAsStrings = new List<string>
            {
                "12.1",
                "12.100",
                "12.1000",
                "12.00",
                "12",
                "12.0000"
            };

            foreach (var decimalAsString in decimalsAsStrings)
            {
                decimal dec = decimal.Parse(decimalAsString);
                Console.WriteLine(dec);
            }

            Console.ReadLine();

        }
    }
}

您还可以将十进制的 ToString 与参数一起使用:

string s = dec.ToString("0.#");

注意:您的代码可能存在国际化问题。按照您编码的方式,它将使用来自用户计算机的文化信息,其中可能包含除.对于小数点分隔符。这可能会导致您的程序为具有以下权限的用户提供不正确的结果.用于千位分隔符。

如果你想保证解析方法总是表现相同,你可以使用文化信息不变文化 http://msdn.microsoft.com/en-us/library/4c5zdc6a.aspx。如果您确实想根据用户的区域性设置来解析字符串,那么您所做的就很好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从十进制字符串中去掉零和小数点? 的相关文章

  • C++:如何检测向量中的重复项并打印一份副本?

    我是 C 新手 我想知道如何在向量中找到重复的字符串并打印出该字符串的一个副本 例如 如果我有它会打印出cat dog bird 我已经对我的向量进行了排序 并使用adjacent find函数并迭代该向量 因为我必须查找是否有任何单词重复
  • 在列表中查找匹配项的最简洁方法

    在列表中查找内容的最佳方式是什么 我知道 LINQ 有一些不错的技巧 但我们也可以获取有关 C 2 0 的建议 让我们对这个常见的代码模式进行最佳重构 目前我使用这样的代码 mObjList is a List
  • 沿着长数据序列在固定大小的移动窗口中查找中值

    给定一个数据序列 可能有重复项 一个固定大小的移动 窗口 从数据开始处每次迭代时移动窗口 序列 使得 1 从窗口中删除最旧的数据元素并添加新数据 元素被推入窗口 2 求每次移动时窗口内数据的中位数 以下帖子没有帮助 有效地找到随机序列的中值
  • Windows 10 UWP 中的视觉状态管理器未在页面加载时应用初始状态

    我有一个带有相关面板的页面 可以根据宽度重新组织 但是 除非宽度 gt 720px 否则它似乎不会在加载时应用任何状态 如果我在加载页面后调整页面大小 则两种状态都有效 解决方法是检查加载页面上的窗口大小并手动选择状态 但我相信这应该自动处
  • MVC 中的 Blazor:组件被渲染,但 @onclick 不起作用。连接问题

    我正在尝试在 net core 3 MVC 项目中使用 Blazor 我使用了一些教程来做到这一点 例如https fizzylogic nl 2019 08 18 integrating blazor in an existing asp
  • 为什么在 OpenCV 中访问该矩阵时出现内存错误?

    我只是想写入给定大小的矩阵 当我在 Valgrind 中运行该程序时 出现内存错误 如下所示 主要 cpp include
  • 有没有办法让我的程序用更少的代码运行?

    我为学校作业编写了以下代码 它编译并打印所有正确的消息 但出于我自己的好奇心 我想知道我的代码是否可以缩短并且仍然有效 我尝试了 signal 而不是 sigaction 但我听说 sigaction 比 signal 更受青睐 此外 此任
  • 使用 CMake 对 SDL 的未定义引用

    我正在使用 SDL v1 2 15 7 和 CMake 3 2 1 开发一个项目 在 h 文件中我添加了 include
  • 对无符号 8 位整数进行左移操作 [重复]

    这个问题在这里已经有答案了 我试图理解 C C 中的移位运算符 但它们给我带来了困难 我有一个无符号 8 位整数 初始化为一个值 例如 1 uint8 t x 1 根据我的理解 它在内存中的表示方式如下 0 0 0 0 0 0 0 1 现在
  • 如何实现可变虚拟成员函数

    所以我有这个功能 virtual void CallRemoteFunction const char pServerGameObjectId const char pFunctionName OVariant arg1 OVariant
  • 为什么Windsor只能拦截虚方法或接口方法?

    我正在阅读文档 发现如果不使用接口 那么 Windsor 只能拦截虚拟方法 这是 Windsor 的限制还是 C 语言的限制 我正在寻找深入的答案 C 语言在这里完全无关 问题是拦截在运行时级别如何工作 一种技术是从类继承 实现接口并将其用
  • 为什么我在这段代码中不断得到两个相同的随机值? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么我的随机数生成器在 C 中不是随机的 https stackoverflow com questions 932520 why does it appear that my random num
  • 本地主机和 request.Url.Authority

    我的应用程序通过 URL 中的公司标识符分隔用户 company1 app com company2 app com 我正在本地 PC 上进行测试 请求如下 company1 localhost com 但是 我的 request Url
  • C++ 虚拟关键字与重写函数

    我正在学习c 并且正在学习virtual关键字 我在互联网上搜索试图理解它但无济于事 我进入编辑器并做了以下实验 期望它打印两次基本消息 因为我的印象是需要 virtual 关键字来覆盖函数 然而 它打印出了两条不同的消息 有人可以向我解释
  • C++ 中类型信息何时向后流动?

    我刚刚看了 Stephan T Lavavej 的演讲CppCon 2018关于 类模板参数推导 在哪里某个点 https youtu be H ut6j1BYU t 941他顺便说 在 C 中 类型信息几乎永远不会向后流动 我不得不说 几
  • 如何从 Function App 设置会话 ID 或创建自定义字段到 Application Insights

    功能应用程序如下 public static async Task
  • std::iota 的 iota 代表什么?

    我假设 i 是增量 a 是分配 但我无法弄清楚或找到答案 而且 它看起来与非标准非常相似itoa我认为这很令人困惑 C iota is not an acronym or an initialism It is the word iota
  • 不兼容的指针到字符转换

    我正在编写一个程序 将卡片值写入 52 个点字符的多维数组中 该程序是一个测试数组 稍后我将其作为函数写入主程序中 在程序中 我通过以下方式初始化 for 循环计数0通过51 我用一个switch语句调制13将卡牌值分配给数组点 但是 我收
  • 使用 QTestLib 时抑制 qDebug

    我正在向 Qt 中的项目添加单元测试 并希望使用 QTestLib 我已经设置了测试并且它们运行良好 问题是在项目中我们重写了 qDebug 以输出到我们自己的日志文件 这在运行应用程序时效果很好 问题是当我测试类时 它有时会开始记录 然后
  • WPF DataGrid 选定项

    我有一个 DataGrid 用户可以通过在最后一行输入数据来添加项目 我还有一个按钮可以删除当前选定的项目 但是 当选择最后一行 空 用于添加新项目 时 最后选定的项目将保留在 SelectedItem 中 因此 如果我打开窗口 选择最后一

随机推荐

  • 如何使用 Func 配置依赖注入容器?

    BusinessAction 用于表示用户可以执行的操作 每个操作都与特定实体相关 因此 例如 如果该实体是 Order 则业务操作可以是 CancelOrder IssueRefund 等 public abstract class Bu
  • 如何正确使用 LiveData 和 RecyclerView

    我有一个从服务器加载列表的项目 这些数据最终将存储到数据库中 但目前存储在内存中的 MutableLiveData 中 RecyclerView 的适配器正在监视数据并显示它 到目前为止 一切都按预期工作 使用 FAB 用户可以发布一个新条
  • 加密 SharedPreferences 中的数据

    我目前正在开发一个用于 oAuth 1 和 2 访问 Web 服务的框架 我的问题是 如何以安全的方式存储敏感数据 例如 oAuth 访问密钥 这个密钥的问题是 像 Twitter 这样的一些平台使用永久密钥 如果有人能够访问这个密钥 他就
  • 使用 sf dplyr 计算 R 中组的点距离

    我有 2 个数据框 如果第一帧相对于第二个数据帧中的某个点 我想计算所有 POINT 几何图形之间的距离 这个问题的主要特点是我有一个grouping第一个数据帧中的变量 我想根据此分组指示器选择相应的点来测量 在第二个数据帧中 的距离 我
  • DotNetZip 从其他 zip 的子集创建 zip

    我有一个很大的 zip 文件 需要将其拆分为多个 zip 文件 在我现在创建的方法中 我有一个 List 对象 这是我得到的代码 All files have the same basefilename string basefilenam
  • 使用 d3.js 的 Pack Layout 节点中的 NaN x 和 y 值

    我正在尝试使用 d3 js 制作圆形包装图 问题是节点的 x 和 y 属性具有 NaN 值 因此所有圆都有变换 翻译 NaN NaN 杰森数据 var data name flare children name analytics chil
  • 如何在 xampp 服务器上运行 Angular 应用程序?

    我正在使用 Angular 2 和 php 进行工作 在我使用 Angular 2 开始 PHP 之前 我已经在服务器 localhost 3000 上使用 node js 完成了 Angular 2 现在使用 PHP 我如何使用 xamp
  • 在ConfigureServices方法中访问IHostingEnvironment

    我需要办理登机手续ConfigureServices方法当前托管环境名称是否为 开发 所以使用IHostingEnvironment IsDevelopment 方法对我来说可能没问题 但与配置方法不同 我没有IHostingEnviron
  • UPDATE 的 mysqli_affected_rows 有时在全行匹配时返回 0

    假设我有 MySQL 查询来更新一行 res mysqli query link UPDATE table SET val 1 WHERE id 5 if res if mysqli affected rows link gt 0 echo
  • Python Scrapy并不总是从网站下载数据

    Scrapy 用于解析 html 页面 我的问题是为什么有时scrapy返回我想要的响应 但有时不返回响应 是我的错吗 这是我的解析函数 class AmazonSpider BaseSpider name amazon allowed d
  • 如何使用 GCC 12.1 生成 C++23 堆栈跟踪?

    In the 发行说明 https www gnu org software gcc gcc 12 changes html对于 GCC12 在 运行时库 libstdc 它说 改进了实验性 C 23 支持 包括 默认情况下未构建 需要链接
  • 在 Haxe/OpenFL 应用程序中使用 SWF 动画

    尽管 Haxe 在 NME OpenFL 方面取得了巨大成就 但从 AS3 开发过渡的最大问题是资产 尽管 Haxe 与 as3 很相似 而且 OpenFL 试图提供熟悉的 API 但缺乏 SWF 支持吓跑了许多开发人员 我对此主题的研究使
  • Spark RDD 块在使用前被移除

    我正在使用 Future 对 RDD 执行阻塞操作 如下所示 dStreams foreach foreachRDD rdd gt Future writeRDD rdd 有时我会收到此错误 org apache spark SparkEx
  • Delphi IAccessible Get_accState 影响 Get_accName?

    我目前正在将 IAccessible Interface 添加到派生的 VCL 组件中 以便能够为我的应用程序实现自动化 UI 测试 实现接口后 我没有看到通过外部工具读出的组件属性中的名称 尽管我在调试时看到它已设置 经过 一些 或更可能
  • 在 ARCore 中添加的垂直平面上的对象始终旋转

    我正在 Sceneform ARFragment 中的垂直平面上添加图像 但它总是会旋转 该代码在水平面上运行良好 我将图像放置在垂直平面上的代码如下 arFragment setOnTapArPlaneListener hitResult
  • PHP 中的类模板就像 C++ 中的一样

    可以在中创建类模板PHP as in C PHP可能没有类似的语言结构 比如template中的关键词C 但也许有一些巧妙的技巧可以实现类似的功能 我有一个Point我想将其转换为模板的类 在类中 我使用类型参数 因此 对于每个类 我想传递
  • PHP 启动:无法加载动态库 'C:\xampp\php\ext\php_oci8_12c.dll' - 找不到指定的程序

    我们在php中连接oracle服务器面临一个大问题 我做了什么 Setp 1 安装 Windows 7 32 位 第2步 安装 XAMPP 32 包括 Apache 2 4 29 PHP 7 1 11 phpMyAdmin 4 7 4 Op
  • C++0x |为什么 std::atomic 使用 volatile 限定符重载每个方法?

    以下摘录自当前草案 说明了我的意思 namespace std typedef struct atomic bool bool is lock free const volatile bool is lock free const void
  • 使用 ExecuteNonQuery() 时返回值不正确

    我正在编写一个与 SQL Server 交互的 C 程序 我愚蠢地将查询字符串硬编码到 C 程序中 并希望将它们转换为服务器上的存储过程 由于某种原因 一个特定的 INSERT 语句 工作正常 不再有效 我不明白为什么 我什至运行了 SQL
  • 如何从十进制字符串中去掉零和小数点?

    当前输出以下代码 12 1 12 100 12 1000 12 00 12 12 0000 我怎样才能改变它 让它输出 12 1 12 1 12 1 12 12 12 Math Round 似乎就是这样 但它让我定义了我想要的小数位数 但我