java 数字与英文字母相互转换

本文提供了两种实用的字符串转换函数:数字转字母和字母转数字。数字转字母函数将整数转换为A-Z范围内的字母组合;字母转数字函数则实现了相反的操作,将A-Z范围内的字母组合转换为对应的整数值。

原文地址:http://blog.youkuaiyun.com/u010571844/article/details/46806265

一、数字转字母

//数字转字母 1-26 : A-Z
private String numberToLetter(int num) {
    if (num <= 0) {
        return null;
    }
    String letter = "";
    num--;
    do {
        if (letter.length() > 0) {
            num--;
        }
        letter = ((char) (num % 26 + (int) 'A')) + letter;
        num = (int) ((num - num % 26) / 26);
    } while (num > 0);

    return letter;
}

二、字母转数字

//字母转数字  A-Z :1-26
public int letterToNumber(String letter) {
    int length = letter.length();
    int num = 0;
    int number = 0;
    for(int i = 0; i < length; i++) {
        char ch = letter.charAt(length - i - 1);
        num = (int)(ch - 'A' + 1) ;
        num *= Math.pow(26, i);
        number += num;
    }
    return number;
}
资源下载链接为: https://pan.quark.cn/s/9648a1f24758 在计算机科学里,字符编码极为关键,ASCII码便是最早且应用最广的字符编码之一。ASCII码包含128个字符,涵盖英文字母数字、标点符号及控制字符等,用7位二进制数表示,二进制范围是0000000到1111111,对应的十进制数值为0到127。编程中,ASCII码数字间的转换十分常见。比如,将字符成十进制或十六进制数值,或把十进制、十六进制数值为ASCII字符,都需要进行这种转换。 ASCII十进制:每个ASCII字符都有特定的十进制值,可直接查ASCII表得知。如A的ASCII值为65(十进制)。在编程中,像C++的int val = static_cast<int>(char)这样的内建函数就能实现转换。 ASCII十六进制:通常是把ASCII值变成两个十六进制数字。例如,A的ASCII值65成十六进制是41。Java的Integer.toHexString()等编程语言中的函数或方法可实现此转换。 十进制ASCII:若有一个十进制值,想得到对应的ASCII字符,需保证该值在0到127范围内。然后,像char c = static_cast<char>(decValue)这样的编程语句就能将其为字符。 十六进制ASCII:对于十六进制数,要先将其为十进制,再为ASCII字符。例如,十六进制41为ASCII就是A。可通过两次转换完成:先用Integer.parseInt(hexValue, 16)把十六进制为十进制,再用前面提到的十进制ASCII的方法。 “AscBinConver.h”文件中很可能包含了一个C++类,实现这些转换。该类可能有以下功能: int asciiToDecimal(char c):接收一个ASCII字符,返回对应的十进制值。 s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值