我找不到将“0xFFBBD1F0”这样的字符串解析为整数0xFFBBD1F0的方法。实际上我只需要创建一个只有“0xFFBBD1F0”字符串的颜色。
我需要从服务器获取的字符串创建一个颜色,看起来像“FFFFFF”。颜色通常创建为 Color(0xFFFFFFFF)。所以我编写了一段代码,将“0xFF”添加到从服务器获取的部分并使用 int.parse 方法。比我尝试了这种方法的另一种组合,带基数参数和不带基数参数,我尝试以某种方式更改传递给 int.parse 的字符串,但没有任何效果。在尝试时,我只得到一个数字,例如 4290499056 或 FormatException。
代码示例:
void main() {
String data = '0xFFBBD1F0';
var cl = int.parse(data, radix: 16);
print(cl);
}
相信上面的代码应该可以正常工作,但我得到了这个:
Uncaught Error: FormatException: 0xFFBBD1F0
将代码更改为:
void main() {
String data = '0xFFBBD1F0';
var cl = int.parse(data);
print(cl);
}
只会让我得到输出值:
4290499056
当我想得到 0xFFBBD1F0 时。
那么在 dart 中是否可以将字符串 '0xFFBBD1F0' 转换为 int 0xFFBBD1F0 ?如果是的话,又是如何呢?如果不是,有没有办法创建仅包含“BBD1F0”字符串作为输入的颜色?
这是一项非常复杂且不平凡的任务。
试试这个代码。
void main() {
String data = '0xFFBBD1F0';
// So is that possible in dart to convert the String '0xFFBBD1F0' to the int 0xFFBBD1F0?
// And...
// ...convert the String '0xFFBBD1F0' to the int 0xFFBBD1F0
var cl = int.parse(data);
print(cl);
// Yes!!! It works!
print(cl == 0xFFBBD1F0);
}