在很多时候,可能我们都需要使用百分比转换成十六进制。例如设计师们的设计稿上经常出现的透明度百分比。
先列出全部百分比对应的十六进制值,下面有具体的计算代码。
百分比:0% , 十六进制值:00
百分比:1% , 十六进制值:30
百分比:2% , 十六进制值:50
百分比:3% , 十六进制值:80
百分比:4% , 十六进制值:A0
百分比:5% , 十六进制值:D0
百分比:6% , 十六进制值:F0
百分比:7% , 十六进制值:12
百分比:8% , 十六进制值:14
百分比:9% , 十六进制值:17
百分比:10% , 十六进制值:1A
百分比:11% , 十六进制值:1C
百分比:12% , 十六进制值:1F
百分比:13% , 十六进制值:21
百分比:14% , 十六进制值:24
百分比:15% , 十六进制值:26
百分比:16% , 十六进制值:29
百分比:17% , 十六进制值:2B
百分比:18% , 十六进制值:2E
百分比:19% , 十六进制值:30
百分比:20% , 十六进制值:33
百分比:21% , 十六进制值:36
百分比:22% , 十六进制值:38
百分比:23% , 十六进制值:3B
百分比:24% , 十六进制值:3D
百分比:25% , 十六进制值:40
百分比:26% , 十六进制值:42
百分比:27% , 十六进制值:45
百分比:28% , 十六进制值:47
百分比:29% , 十六进制值:4A
百分比:30% , 十六进制值:4D
百分比:31% , 十六进制值:4F
百分比:32% , 十六进制值:52
百分比:33% , 十六进制值:54
百分比:34% , 十六进制值:57
百分比:35% , 十六进制值:59
百分比:36% , 十六进制值:5C
百分比:37% , 十六进制值:5E
百分比:38% , 十六进制值:61
百分比:39% , 十六进制值:63
百分比:40% , 十六进制值:66
百分比:41% , 十六进制值:69
百分比:42% , 十六进制值:6B
百分比:43% , 十六进制值:6E
百分比:44% , 十六进制值:70
百分比:45% , 十六进制值:73
百分比:46% , 十六进制值:75
百分比:47% , 十六进制值:78
百分比:48% , 十六进制值:7A
百分比:49% , 十六进制值:7D
百分比:50% , 十六进制值:80
百分比:51% , 十六进制值:82
百分比:52% , 十六进制值:85
百分比:53% , 十六进制值:87
百分比:54% , 十六进制值:8A
百分比:55% , 十六进制值:8C
百分比:56% , 十六进制值:8F
百分比:57% , 十六进制值:91
百分比:58% , 十六进制值:94
百分比:59% , 十六进制值:96
百分比:60% , 十六进制值:99
百分比:61% , 十六进制值:9C
百分比:62% , 十六进制值:9E
百分比:63% , 十六进制值:A1
百分比:64% , 十六进制值:A3
百分比:65% , 十六进制值:A6
百分比:66% , 十六进制值:A8
百分比:67% , 十六进制值:AB
百分比:68% , 十六进制值:AD
百分比:69% , 十六进制值:B0
百分比:70% , 十六进制值:B3
百分比:71% , 十六进制值:B5
百分比:72% , 十六进制值:B8
百分比:73% , 十六进制值:BA
百分比:74% , 十六进制值:BD
百分比:75% , 十六进制值:BF
百分比:76% , 十六进制值:C2
百分比:77% , 十六进制值:C4
百分比:78% , 十六进制值:C7
百分比:79% , 十六进制值:C9
百分比:80% , 十六进制值:CC
百分比:81% , 十六进制值:CF
百分比:82% , 十六进制值:D1
百分比:83% , 十六进制值:D4
百分比:84% , 十六进制值:D6
百分比:85% , 十六进制值:D9
百分比:86% , 十六进制值:DB
百分比:87% , 十六进制值:DE
百分比:88% , 十六进制值:E0
百分比:89% , 十六进制值:E3
百分比:90% , 十六进制值:E6
百分比:91% , 十六进制值:E8
百分比:92% , 十六进制值:EB
百分比:93% , 十六进制值:ED
百分比:94% , 十六进制值:F0
百分比:95% , 十六进制值:F2
百分比:96% , 十六进制值:F5
百分比:97% , 十六进制值:F7
百分比:98% , 十六进制值:FA
百分比:99% , 十六进制值:FC
百分比:100% , 十六进制值:FF
代码的计算方式很简单。
/**
* 透明度百分比
*
* @author chenjunxu
*
*/
public class Main {
public static void main(String[] args) {
for (int i = 0; i <= 100; i++) {
float f = 255 * i / 100f;
// 四舍五入
int hexInteger = Math.round(f);
// 十进制转换成16进制
String hex = Integer.toHexString(hexInteger);
// 如果只有一位,则后面添加0
if (hex.length() < 2) {
hex = hex + "0";
}
// 十六进制一般以大写的形式显示
System.out.println("百分比:" + i + "% , 十六进制值:" + hex.toUpperCase());
}
}
}