C#实现将千分位字符串转换成数字的方法

本文实例主要实现了C#将千分位字符串转换成数字的方法,对C#初学者而言有一定的借鉴价值,主要内容如下:

主要功能代码如下:

/// <summary>
/// 将千分位字符串转换成数字
/// 说明:将诸如"–111,222,333的千分位"转换成-111222333数字
/// 若转换失败则返回-1
/// </summary>
/// <param name="thousandthStr">需要转换的千分位</param>
/// <returns>数字</returns>
public static int ParseThousandthString(this string thousandthStr)
{
  int _value = -1;
  if (!string.IsNullOrEmpty(thousandthStr))
  {
 try
 {
   _value = int.Parse(thousandthStr, NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign);
 }
 catch (Exception ex)
 {
   _value = -1;
   Debug.WriteLine(string.Format("将千分位字符串{0}转换成数字异常,原因:{0}", thousandthStr, ex.Message));
 }
  }
  return _value;
}

单元测试如下:

[TestMethod()]
public void ParseThousandthStringTest()
{
  string _thousandthStr = "-111,222,333";
  int _expected1 = -111222333;
  int _actual1 = StringToolV2.ParseThousandthString(_thousandthStr);
  Assert.AreEqual(_expected1, _actual1);
}

感兴趣的读者可以自己测试一下,希望对大家学习C#有所帮助!

(0)

相关推荐

  • c#实现识别图片上的验证码数字

    public void imgdo(Bitmap img) { //去色 Bitmap btp = img; Color c = new Color(); int rr, gg, bb; for (int i = 0; i < btp.Width; i++) { for (int j = 0; j < btp.Height; j++) { //取图片当前的像素点 c = btp.GetPixel(i, j); rr = c.R; gg = c.G; bb = c.B; //改变颜色 if (r

  • C#识别出图片里的数字和字母

    一个图片识别小工具,原先主要是识别以前公司的软件注册码截图里的数字和字母(每次要一个一个框复制出来粘贴到注册器里,很麻烦!),因为注册码出现的字母和数字基本就那几个,所以识别库的范围设定的比较少. 原理和算法在代码中做了详细说明,功能存在很大的局限性,但我的想法是把这个思路和实现的办法共享出来. 源码下载地址: http://git.oschina.net/bobo2cj/iamge2text /* * 开发思路:图片灰度处理,二进制,然后和图片中的字二进制库精确对比 * * 获取字库:通过下面

  • c#中文转unicode字符示例分享

    复制代码 代码如下: //可以包括其他字符 public string uncode(string str) { string outStr = ""; Regex reg = new Regex(@"(?i)//u([0-9a-f]{4})"); outStr = reg.Replace(str, delegate(Match m1) { return ((char)Convert.ToInt32(m1.Groups[1].Value, 16)).ToString

  • C# 判断字符串第一位是否为数字

    复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Text.RegularExpressions; namespace WindowsFormsApp

  • C#实现将浮点数表示的货币数量以汉字大写形式输出的方法

    本文实例讲述了C#实现将浮点数表示的货币数量以汉字大写形式输出的方法.分享给大家供大家参考.具体如下: 1.函数代码 注:本段代码中能转化的最大的数为(1亿亿-0.01),如果要转化更大的浮点数,则需要做适当修改. /// <summary> /// 将字符型变量转化为大写汉语数字 /// </summary> /// <param name="ch">字符 '0'~'9'</param> /// <returns></

  • 使用C#实现阿拉伯数字到大写中文的转换

    先记下来,以备后用! /// <summary> /// 金额转为大写金额 /// </summary> public class MoneyConvertChinese { /// <summary> /// 金额转为大写金额 /// </summary> /// <param name="LowerMoney"></param> /// <returns></returns> publi

  • C# 中文简体转繁体实现代码

    方法一: 复制代码 代码如下: /// <summary> /// 中文字符工具类 /// </summary> private const int LOCALE_SYSTEM_DEFAULT = 0x0800; private const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000; private const int LCMAP_TRADITIONAL_CHINESE = 0x04000000; [DllImport("kern

  • c#中判断字符串是不是数字或字母的方法

    一.判断字母 复制代码 代码如下: string str = Console.ReadLine();if (char.isLetter(str)){}else if (char.IsDigit(str)){} if(ch>='a'&&ch<='z') 小写字母if(ch>='A'&&ch<='Z') 大写字母数字也一样.判断汉字一般是输入 >255 因为汉字是大字符集二.判断输入的是不是数字 复制代码 代码如下: try{int n = 0;n

  • C# .net实现货币转换示例

    本文所述C# .net实现货币转换示例主要利用string.format 和cultureInfo 来进行转换.分享给大家供大家参考之用.具体方法如下: 主要实现代码如下: /// <summary> /// 输入Float格式数字,将其转换为货币表达方式 /// </summary> /// <param name="ftype">货币表达类型:0=带¥的货币表达方式:1=不带¥的货币表达方式:其它=带¥的货币表达方式</param>

  • C#基于纯数学方法递归实现货币数字转换中文功能详解

    本文实例讲述了C#基于纯数学方法递归实现货币数字转换中文功能.分享给大家供大家参考,具体如下: 最近由于项目的原因,需要写一个货币数字转换中文的算法,先在网了找了一下,结果发现无一列外都是用(Replace)替换的方式来实现的,所以想写个另外的算法:因为本人是学数学出身的,所以用纯数学的方法实现. 注意:本文中的算法支持小于1023 (也就是9999亿兆)货币数字转化. 货币中文说明: 在说明代码之前,首先让我们回顾一下货币的读法. 10020002.23  读为 壹仟零贰万零贰元贰角叁分 10

  • C#实现大数字运算的实例代码

    C#实现大数字的运算 1.添加引用:System.Numerics.dll 2.添加命名空间:using System.Numerics; 3.实例: 3.1判断一个数字是不是质数 复制代码 代码如下: static void Main(string[] args)        {            Console.WriteLine("请输入一个很大的数字:");            string bigNumber = Console.ReadLine();        

随机推荐