bcd参考:http://www.baike.com/wiki/BCD%E7%A0%81
(1)获取日期和时间的BCD码
比如 2013年12月6日21:23:10,转化为BCD码就是131206212310
static public String getTime2() { SimpleDateFormat format = new SimpleDateFormat("yyMMddHHmmss"); return format.format(new Date()); }
(2)把BCD码转化为金额
/*** * 从BCD获取金额,单位是元,"000000011023"-->"110.23";"000000000013"-->"0.13" * @param bcd * @return */ public static String getMoneyFromBcd(String bcd){ if(StringUtil.isNullOrEmpty(bcd)){ return null; } int dotLoc=bcd.length()-2; String money=bcd.substring(0,dotLoc )+Constants.DOT+bcd.substring(dotLoc); bcd=money.replaceAll("^[0]+", ""); if(bcd.startsWith(".")){//.23-->0.23 bcd=0+bcd; } return bcd; }
测试:
@Test public void test_getMoneyFromBcd() { String hex = "000000000013"; System.out.println(BcdUtil.getMoneyFromBcd(hex)); }
运行结果:0.13
注意:单位是元。
(3)把金额转化为BCD码
/*** * 把金额转化为BCD码,注意:金额的单位是分,不是元. * * @param moneyInt * @return */ public static String moneyToBcd(long moneyInt){ String moneyBCDStr=String.valueOf(moneyInt); while(moneyBCDStr.length()<12){ moneyBCDStr=0+moneyBCDStr; } return moneyBCDStr; }
比如把1角2分转化为BCD码:
@Test // ok public void test_moneyToBcd() { long money = 12L; System.out.println(BcdUtil.moneyToBcd(money)); }
运行结果:
000000000012
注意:测试金额的单位是分,不是元。
相关推荐
1. **二进制到BCD**:在PLC编程中,可以使用位操作指令将二进制数转换为BCD码,例如,通过右移和位填充来实现。 2. **BCD到二进制**:相反,要将BCD码转换回二进制,可以通过位提取和位组合来完成。 3. **BCD加...
双字节BCD码加法实验是对嵌入式系统基础知识的一种实践操作,主要涉及汇编语言编程和BCD码的运算。在这个实验中,学生使用了wave6000软件来实现双字节BCD码的加法运算,旨在熟悉wave6000的使用以及掌握循环程序的...
《数字电子技术课程设计——8421BCD码到5421BCD码转换电路》 在数字电子技术领域,数据编码是至关重要的环节。8421BCD码(Binary-Coded Decimal,二进制编码的十进制数)是一种广泛使用的十进制数的二进制表示方式...
**八位二进制转BCD码**...通过上述步骤,我们不仅可以理解BCD码的转换原理,还能借助Multisim11这样的工具加深对数字电路的理解,提高实践操作能力。如果你对电路设计和数字逻辑感兴趣,这是一个很好的学习和探索项目。
例如,在某些微控制器程序中,为了方便对时间进行读写操作,可能会将小时、分钟等存储为压缩式BCD码。 #### 描述分析 - **描述**:“该BCD码原来的个位和十位假设是在40H中,最后十位存在42H,个位在41H。” - *...
BCD码主要用于处理与十进制数值相关的计算,特别是在需要精确显示十进制数字的场合,如财务软件、计算器等。本项目中的"BCD码加法程序"是一个自编的用于演示和学习BCD码加法运算的程序,具有开源性质,鼓励大家互相...
本课程设计的主题是将8421BCD码转换成5421BCD码的电路设计,这一任务对于理解和掌握数字逻辑电路及其应用至关重要。8421BCD码和5421BCD码都是二进制编码的十进制数表示方式,它们之间的转换是数字电路设计中的常见...
在本代码中,使用了多个信号和变量来存储和操作二进制数和BCD码。 过程语句 过程语句(PROCESS)是VHDL语言中的一种控制结构,用于描述数字电路的行为。在本代码中,使用了两个过程语句来实现二进制数到BCD码的...
4. **合并BCD码**:`XOR AL, BL`实际上并不执行真正的异或操作,而是将BL寄存器的值与AL寄存器的值进行按位“或”操作,从而将两个BCD码合并到AL寄存器中,形成压缩BCD码。 5. **存储结果**:`MOV DA3, AL`将最终的...
在工业自动化中,如西门子的PLC(可编程逻辑控制器)系统,BCD码常常被用来处理与人机交互相关的数值显示,因为人更习惯于读取十进制格式的数字。 标题中的“十进制数转换成BCD码(源码)”指的是一个程序或算法,...
- 比较器:比较每一对BCD码加法后的结果是否大于9,以便于后续的修正操作。 - 编码器:如果比较器检测到结果超出范围,编码器会将其调整回合法的BCD码。 - 进位传递电路:用于在多位BCD码加法中传递进位信号。 六、...
标题中的“BCD码修复工具”指的是用于解决计算机开机启动问题的软件,特别是与Boot Configuration Data(BCD)有关的问题。BCD是Windows操作系统中存储启动配置信息的数据结构,包括系统启动加载器的信息,如系统...
另外,也可以通过位操作,如左移、右移、与、或等,来构造BCD码。 4. **错误检查**:在转换过程中,需要确保输入的十进制数在0到9999的范围内,否则可能会产生无效的BCD码。可以通过额外的逻辑来检查并处理这种情况...
### Verilog 16进制转10进制BCD码转换器详解 #### 核心概念解析 本文档详细解析了一个Verilog程序,该程序实现了16进制数到二进制编码十进制(Binary Coded Decimal, BCD)格式的转换,并最终用于驱动数码管显示。...
理解并熟练掌握BCD码的运算法则,对于理解和编写涉及BCD码操作的程序至关重要,能够确保计算结果的准确性和系统的稳定性。在硬件设计中,BCD码的处理也常被集成在微处理器或专用集成电路(ASIC)中,以实现快速而...
BCD码(Binary-Coded Decimal,二进制编码的十进制)和ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)是两种常见的编码方式,它们在存储和处理数字以及字符时各有优势。...
二进制转换为BCD码(Binary-Coded Decimal,简称BCD码)是计算机处理数字的一种方式,尤其在处理与人类可读的十进制数交互时非常有用。BCD码将每一位十进制数映射到4位二进制上,每四位二进制代表一位十进制数。例如...
实验3-3主要探讨了如何在微机系统中使用汇编语言处理压缩的BCD码(Binary Coded Decimal)的减法操作,并将其结果显示在屏幕上。BCD码是一种用于表示十进制数字的二进制编码方式,压缩的BCD码则用四位二进制来表示一...
通过这些知识点,读者可以对如何在51单片机中将多字节二进制数转换为压缩BCD码有一个全面的理解,包括所需的操作步骤和相关指令的应用。文中提供的示例代码涵盖了2字节和3字节二进制数的转换过程,这些代码段虽然较...