DOBON.NETプログラミング道掲示板

■35564 / 親階層)  兆億万表記の文字列を数値に変換できる?
□投稿者/ Wan 付き人(95回)-(2023/12/17(Sun) 17:15:04)
  • アイコン環境/言語:[VisualBasic2022 Windows10 C# .NET6] 
    分類:[.NET] 

    兆億万表記の文字列を数値に変換しようと考えています。
    
    初心者ながら思いついたのが、下記のコードです。
       void Test億万円()
       {
           String T1 = "11兆200億3400万5円";
           String T2 = "123兆1695億7万500円";
           String T3 = "200億3400万5円";
           String T4 = "123兆7万500円";
           String T5 = "3400万5円";
           String T6 = "123兆1695億500円";
           String T7 = "5円";
           String T8 = "123兆円";
           String T9 = "123万";
           String T10 = "123";
    
           string s1 = T10;
    
           string Pattan兆 = "(\\d{1,4})兆";
           string Pattan億 = "(\\d{1,4})億";
           string Pattan万 = "(\\d{1,4})万";
           string Pattan円 = "(\\d{1,4})円";
           
           var Reg兆 = Regex.Match(s1, Pattan兆);
           long 兆 = Reg兆.Groups.Count > 1 ? long.Parse(Reg兆.Groups[1].Value) * 1_0000_0000_0000 : 0;
           var Reg億 = Regex.Match(s1, Pattan億);
           long 億 = Reg億.Groups.Count > 1 ? long.Parse(Reg億.Groups[1].Value) * 1_0000_0000 : 0;
           var Reg万 = Regex.Match(s1, Pattan万);
           long 万 = Reg万.Groups.Count > 1 ? long.Parse(Reg万.Groups[1].Value) * 1_0000 : 0;
           var Reg円 = Regex.Match(s1, Pattan円);
           long 円 = Reg円.Groups.Count > 1 ? long.Parse(Reg円.Groups[1].Value) : 0;
           long 何円 = 兆 + 億 + 万 + 円;
    
           MessageBox.Show(String.Format("{0:#,0}", 何円));
       }
    
    T1〜T10は、サンプル
    当然、T10は、0になってしまいます。
    正規表現でグループ分けして、兆はGroup[2]、億はGroup[4]、万はGroup[6]、円はGroup[8](Indexは、適当に表現しており、億があろうがなかろうが?固定のGroupインデックスならOK)を目指しましたが、正規表現が書けませんでした。
    
    円の有無を含めた処理方法について、お知恵を拝借できませんでしょうか?
    
    

マルチポストを報告
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
親記事 →Re[1]: 兆億万表記の文字列を数値に変換できる? /Azulean
 
上記関連ツリー

Nomalアイコン 兆億万表記の文字列を数値に変換できる? / Wan (23/12/17(Sun) 17:15) #35564 ←Now
Nomalアイコン Re[1]: 兆億万表記の文字列を数値に変換できる? / Azulean (23/12/17(Sun) 20:44) #35566
  └Nomalアイコン Re[2]: 兆億万表記の文字列を数値に変換できる? / Azulean (23/12/17(Sun) 20:57) #35567
    └Nomalアイコン Re[3]: 兆億万表記の文字列を数値に変換できる? / Wan (23/12/18(Mon) 08:28) #35569 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -