`

关于BCD码的相关操作

阅读更多

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

注意:测试金额的单位是分,不是元。

0
0
分享到:
评论

相关推荐

    BCD关于BCD码在PLC数据转换

    1. **二进制到BCD**:在PLC编程中,可以使用位操作指令将二进制数转换为BCD码,例如,通过右移和位填充来实现。 2. **BCD到二进制**:相反,要将BCD码转换回二进制,可以通过位提取和位组合来完成。 3. **BCD加...

    双字节BCD码加法实验报告

    双字节BCD码加法实验是对嵌入式系统基础知识的一种实践操作,主要涉及汇编语言编程和BCD码的运算。在这个实验中,学生使用了wave6000软件来实现双字节BCD码的加法运算,旨在熟悉wave6000的使用以及掌握循环程序的...

    数字电子技术课程设计--将8421BCD码转换成5421BCD码的电路设计.docx

    《数字电子技术课程设计——8421BCD码到5421BCD码转换电路》 在数字电子技术领域,数据编码是至关重要的环节。8421BCD码(Binary-Coded Decimal,二进制编码的十进制数)是一种广泛使用的十进制数的二进制表示方式...

    八位二进制转bcd码

    **八位二进制转BCD码**...通过上述步骤,我们不仅可以理解BCD码的转换原理,还能借助Multisim11这样的工具加深对数字电路的理解,提高实践操作能力。如果你对电路设计和数字逻辑感兴趣,这是一个很好的学习和探索项目。

    压缩式BCD码分解成为单字节BCD码

    例如,在某些微控制器程序中,为了方便对时间进行读写操作,可能会将小时、分钟等存储为压缩式BCD码。 #### 描述分析 - **描述**:“该BCD码原来的个位和十位假设是在40H中,最后十位存在42H,个位在41H。” - *...

    BCD码加法程序

    BCD码主要用于处理与十进制数值相关的计算,特别是在需要精确显示十进制数字的场合,如财务软件、计算器等。本项目中的"BCD码加法程序"是一个自编的用于演示和学习BCD码加法运算的程序,具有开源性质,鼓励大家互相...

    数字电子技术课程设计--将8421BCD码转换成5421BCD码的电路设计.pdf

    本课程设计的主题是将8421BCD码转换成5421BCD码的电路设计,这一任务对于理解和掌握数字逻辑电路及其应用至关重要。8421BCD码和5421BCD码都是二进制编码的十进制数表示方式,它们之间的转换是数字电路设计中的常见...

    二进制转换成BCD码

    在本代码中,使用了多个信号和变量来存储和操作二进制数和BCD码。 过程语句 过程语句(PROCESS)是VHDL语言中的一种控制结构,用于描述数字电路的行为。在本代码中,使用了两个过程语句来实现二进制数到BCD码的...

    汇编语言BCD码加法

    4. **合并BCD码**:`XOR AL, BL`实际上并不执行真正的异或操作,而是将BL寄存器的值与AL寄存器的值进行按位“或”操作,从而将两个BCD码合并到AL寄存器中,形成压缩BCD码。 5. **存储结果**:`MOV DA3, AL`将最终的...

    十进制数转换成BCD码(源码)

    在工业自动化中,如西门子的PLC(可编程逻辑控制器)系统,BCD码常常被用来处理与人机交互相关的数值显示,因为人更习惯于读取十进制格式的数字。 标题中的“十进制数转换成BCD码(源码)”指的是一个程序或算法,...

    两个BCD码的加法运算电路

    - 比较器:比较每一对BCD码加法后的结果是否大于9,以便于后续的修正操作。 - 编码器:如果比较器检测到结果超出范围,编码器会将其调整回合法的BCD码。 - 进位传递电路:用于在多位BCD码加法中传递进位信号。 六、...

    BCD码修复工具

    标题中的“BCD码修复工具”指的是用于解决计算机开机启动问题的软件,特别是与Boot Configuration Data(BCD)有关的问题。BCD是Windows操作系统中存储启动配置信息的数据结构,包括系统启动加载器的信息,如系统...

    工程说明_verilog十进制转BCD码_

    另外,也可以通过位操作,如左移、右移、与、或等,来构造BCD码。 4. **错误检查**:在转换过程中,需要确保输入的十进制数在0到9999的范围内,否则可能会产生无效的BCD码。可以通过额外的逻辑来检查并处理这种情况...

    verilog 16进制转10进制bcd码

    ### Verilog 16进制转10进制BCD码转换器详解 #### 核心概念解析 本文档详细解析了一个Verilog程序,该程序实现了16进制数到二进制编码十进制(Binary Coded Decimal, BCD)格式的转换,并最终用于驱动数码管显示。...

    BCD码的运算法则

    理解并熟练掌握BCD码的运算法则,对于理解和编写涉及BCD码操作的程序至关重要,能够确保计算结果的准确性和系统的稳定性。在硬件设计中,BCD码的处理也常被集成在微处理器或专用集成电路(ASIC)中,以实现快速而...

    BCD_ASCII转换工具

    BCD码(Binary-Coded Decimal,二进制编码的十进制)和ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)是两种常见的编码方式,它们在存储和处理数字以及字符时各有优势。...

    二进制换BCD码(内含完整C语言的代码)

    二进制转换为BCD码(Binary-Coded Decimal,简称BCD码)是计算机处理数字的一种方式,尤其在处理与人类可读的十进制数交互时非常有用。BCD码将每一位十进制数映射到4位二进制上,每四位二进制代表一位十进制数。例如...

    微机原理与接口技术/汇编实验 两个压缩的BCD码相减并调整结果为压缩的BCD码实验报告

    实验3-3主要探讨了如何在微机系统中使用汇编语言处理压缩的BCD码(Binary Coded Decimal)的减法操作,并将其结果显示在屏幕上。BCD码是一种用于表示十进制数字的二进制编码方式,压缩的BCD码则用四位二进制来表示一...

    单片机-多字节二进制码转压缩BCD码示例(修正内容)

    通过这些知识点,读者可以对如何在51单片机中将多字节二进制数转换为压缩BCD码有一个全面的理解,包括所需的操作步骤和相关指令的应用。文中提供的示例代码涵盖了2字节和3字节二进制数的转换过程,这些代码段虽然较...

Global site tag (gtag.js) - Google Analytics