C++ 的string 与java的String中的汉字长度

Code:
  1. public class Example   
  2. {   
  3.     public Example(double x)  
  4.     {  
  5.         String yuan="亿千百拾万千百十元角分";  
  6.         String digit="零壹贰叁肆伍陆柒捌玖";  
  7.         String str="";  
  8.         int y=(int)Math.round(x*100-0.5);//123414  
  9.         int i=yuan.length()-1;  
  10.         while(y>0&&i>0)  
  11.         {  
  12.             str=""+digit.charAt(y%10)+yuan.charAt(i)+str;  
  13.             i--;  
  14.             y=y/10;  
  15.         }  
  16.         System.out.println(str); //壹千贰百叁十肆元壹角肆分  
  17.     }  
  18.     public static void main(String[] args)  
  19.     {    
  20.         new Example(1234.14);  
  21.     }     
  22. }  
Code:
  1. #include "stdafx.h"  
  2. #include <iostream>  
  3. #include <cstring>  
  4. #include <string>  
  5. #include <algorithm>  
  6. #include <vector>  
  7. using namespace std;  
  8. class Money  
  9.     {  
  10.     public:  
  11.         string M(string original)  
  12.             {  
  13.         static string yuan="亿千百拾万千百十元角分";  
  14.         static string digit="零壹贰叁肆伍陆柒捌玖";  
  15.     long double b;  
  16.     b=strtod(&original[0],NULL);  
  17.     int n=int(100*b);//123414  
  18.     
  19.     int v=0;  
  20.     int i=yuan.length()-1;//21  
  21.     string str="";         
  22.                 while(i>0&&n>0)  
  23.                     {  
  24.                     v=n%10;  
  25.                     str=yuan[i]+str;  
  26.                     str=yuan[i-1]+str;  
  27.   
  28.                     str=digit[2*v+1]+str;  
  29.                     str=digit[2*v]+str;  
  30.   
  31.   
  32.                     i=i-2;  
  33.                     n=n/10;  
  34.                     }  
  35.             return str;  
  36.             };  
  37.     };  
  38.   
  39. int _tmain(int argc, _TCHAR* argv[])  
  40. {  
  41.     Money T;   
  42.     cout<<T.M("1234.14");  
  43.     return 0;  
  44. }  

 

你可能感兴趣的:(java,C++,String,null)