Notes中人民币大写换算的实现

原创 2003年02月17日 11:13:00

'调用按钮的代码:
Sub Click(Source As Button)
 Dim w As New notesUIWorkspace 
 Dim ui As notesUIdocument
 Dim jineStr As String
 
 Set ui = w.currentDocument
 Call ui.refresh
 jineStr = ui.fieldGetText("jine")
 Call ui.fieldSetText("dxje",TurnResult(jineStr))
 Call ui.refresh
End Sub


'换算函数
Function TurnResult(numStr As String) As String
 Dim digi As Integer
 Dim numLen As Integer
 
 numLen = Len(numStr)
 intStr = Left(numStr,(numLen - 3))  '取整数部分
 digStr = Right(numStr,2)    '取小数部分
 
 numLen = Len(intStr)
 digi_old = 9
 '处理整数部分转换
 While numLen <> 0
  digi = Cint(Left(intStr,1))
  If numLen<5 Then  '完元以下的换算
   If digi_old = 0 And digi = 0 And numLen<>1 Then
    TurnResult = TurnResult
   Else
    If digi = 0 And numLen <> 1 Then
     TurnResult = TurnResult + numToBigWrite(digi)
    Elseif digi = 0 And digi_old = 0 And numLen = 1  Then
     TurnResult = Left(TurnResult,Len(TurnResult)-1) + Unit(numLen)
    Elseif digi = 0 And digi_old <> 0 And numLen = 1  Then
     TurnResult = TurnResult + Unit(numLen)
    Else
     TurnResult = TurnResult + numToBigWrite(digi) + Unit(numLen)
    End If
   End If
  Else     '万元以上的换算
   If digi_old = 0 And digi = 0 And numLen<>5 Then
    TurnResult = TurnResult
   Else
    If digi = 0 And numLen <> 5 Then
     TurnResult = TurnResult + numToBigWrite(digi)
    Elseif digi = 0 And digi_old = 0 And numLen = 5  Then
     TurnResult = Left(TurnResult,Len(TurnResult)-1) + Unit(numLen)
    Elseif digi = 0 And digi_old <> 0 And numLen = 5  Then
     TurnResult = TurnResult + Unit(numLen)
    Else
     TurnResult = TurnResult + numToBigWrite(digi) + Unit(numLen)
    End If
   End If
  End If
  
  digi_old = digi
  intStr = Right(intStr,numLen - 1)
  numLen = Len(intStr)
 Wend
 '小数部分的数值转换
 TurnResult = TurnResult + numToBigWrite(Cint(Left(digStr,1))) + Unit(-1) + _
 numToBigWrite(Cint(Right(digStr,1))) + Unit(-2) + "整"
 
End Function


'单位转换函数
Function Unit(bit As Integer) As String
 Select Case bit
 Case -1
  Unit="角"
 Case -2
  Unit="分"
 Case 1
  Unit="元"
 Case 2
  Unit="拾"
 Case 3
  Unit="佰"
 Case 4
  Unit="仟"
 Case 5
  Unit="万"
 Case 6
  Unit="拾" 
 Case 7
  Unit="佰"
 Case 8
  Unit="仟"  
 Case 9
  Unit="亿"
 Case Else
  Unit="无效"+Cstr(bit)
 End Select 
End Function

人民币大写转换

问题:    商业领域,开发票,支票等金钱相关项目通常要求转换成大写,诸如“壹拾圆陆角玖分”.编程过程中,一般的钱币都是double型.当前看到的方法:之所以写这个方法,因为看到的方法设计的不是很好,...
  • Davis129
  • Davis129
  • 2006年08月27日 16:15
  • 7734

java实现人民币数字和大写转换

原文地址:http://liuyanzhao.com/2512.html 直接上代码了,下面代码经测试完美。能解决数字中加0的特例 import java.math.BigDecimal; ...
  • LIU_YANZHAO
  • LIU_YANZHAO
  • 2017年03月19日 22:59
  • 1093

JS进行人民币大小写转换

//数字金额大写转换(可以处理整数,小数,负数) function upDigit() { digit=$("#digit").html(); n=digi...
  • u013034889
  • u013034889
  • 2017年05月22日 08:27
  • 681

java实现人民币数字转换中文大写的工具实例代码demo分享

原文:java实现人民币数字转换中文大写的工具实例代码demo分享 http://www.zuidaima.com/share/1816208858221568.htm 刚好在项目里面用到...
  • yaerfeng
  • yaerfeng
  • 2016年07月08日 09:36
  • 1325

蓝桥杯 人民币金额大写 格式转换

在与财务相关的应用中,经常会用到人民币金额的大写,比如发票的打印程序。 本题的任务是:从键盘输入一个十亿以内的正整数(int类型),把它转换为人民币金额大写(不考虑用户输入错误的情况)。 比如,用...
  • wr132
  • wr132
  • 2015年03月25日 16:33
  • 955

将数字字符串人民币转化成大写字符串人民币

/* * 创建日期 2005-3-8 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */package com.test;/** ...
  • Explorerwen
  • Explorerwen
  • 2005年03月08日 12:52
  • 925

js将数字金额转换为大写人民币

今天换算律师打官司金额,用到了小写金额转化为大写汉字的问题,这里把具体思路分析一下 1、首先判断输入数值正负问题,     2、其次有小数点部分需要处理,将数值每次乘以10进行拆分,乘10——%...
  • qq_35240823
  • qq_35240823
  • 2017年11月23日 19:43
  • 164

JAVA如何实现人民币大小写转换

本程序的作用是将人民币的小写形式转换为大写,例如:调用upper(“18.5″),将会返回字符串“壹拾捌圆伍角”。 [java] view plaincopy pack...
  • guaishushu1ss
  • guaishushu1ss
  • 2017年08月06日 10:48
  • 455

用java进行人民币大写转换

自认为无懈可击,愿高人测试。受到dracularking的启发,谨表示谢意,愿与大家共享思路。public class RMBConvert { private static String[] fac...
  • wangjichen_1
  • wangjichen_1
  • 2007年01月05日 10:37
  • 1815

java版,实现人民币的大小写转换

前两天看了,一个技术牛人的访谈,讲的非常的精彩。我只记得当中他说,程序员要怎么学习。提了很重要的一点,就是要经常性的写博客,把自己学到的知识,分享出来,这样不仅可以提高自己的能力,还能够让别人看你程序...
  • lanxingfeifei
  • lanxingfeifei
  • 2016年02月01日 14:55
  • 2781
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Notes中人民币大写换算的实现
举报原因:
原因补充:

(最多只允许输入30个字)