mirror of
https://github.com/zlgopen/awtk.git
synced 2025-05-08 11:33:48 +08:00
improve tk_atoi/tk_atol/tk_atoul support str start with #
This commit is contained in:
parent
5c96c30bce
commit
9bc2359767
@ -4,6 +4,7 @@
|
||||
* 重构 widget\_add\_child
|
||||
* 完善 pages 动态增加子控件。
|
||||
* 完善API注释(感谢福明提供补丁)
|
||||
* tk\_atoi/tk\_atol/tk\_atoul等函数视'#'开头的字符串为十六进制。
|
||||
|
||||
2022/07/12
|
||||
* 对话框高亮增加参数update\_background(感谢雨欣提供补丁)
|
||||
|
@ -263,6 +263,8 @@ int32_t tk_atoi(const char* str) {
|
||||
return_value_if_fail(str != NULL, 0);
|
||||
if (IS_HEX_NUM(str)) {
|
||||
return tk_strtoi(str + 2, NULL, 16);
|
||||
}else if (str[0] == '#') {
|
||||
return tk_strtoi(str + 1, NULL, 16);
|
||||
} else if (IS_BIN_NUM(str)) {
|
||||
return tk_strtoi(str + 2, NULL, 2);
|
||||
} else {
|
||||
@ -274,6 +276,8 @@ int64_t tk_atol(const char* str) {
|
||||
return_value_if_fail(str != NULL, 0);
|
||||
if (IS_HEX_NUM(str)) {
|
||||
return tk_strtoll(str + 2, NULL, 16);
|
||||
} else if (str[0] == '#') {
|
||||
return tk_strtoll(str + 1, NULL, 16);
|
||||
} else if (IS_BIN_NUM(str)) {
|
||||
return tk_strtoll(str + 2, NULL, 2);
|
||||
} else {
|
||||
@ -285,6 +289,8 @@ uint64_t tk_atoul(const char* str) {
|
||||
return_value_if_fail(str != NULL, 0);
|
||||
if (IS_HEX_NUM(str)) {
|
||||
return tk_strtoull(str + 2, NULL, 16);
|
||||
} else if (str[0] == '#') {
|
||||
return tk_strtoull(str + 1, NULL, 16);
|
||||
} else if (IS_BIN_NUM(str)) {
|
||||
return tk_strtoull(str + 2, NULL, 2);
|
||||
} else {
|
||||
|
@ -16,8 +16,25 @@ TEST(Utils, basic) {
|
||||
ASSERT_EQ(tk_atoi("0x1"), 0x1);
|
||||
ASSERT_EQ(tk_atoi("0xf"), 0xf);
|
||||
ASSERT_EQ(tk_atoi("0Xf"), 0xf);
|
||||
ASSERT_EQ(tk_atoi("0b11"), 3);
|
||||
ASSERT_EQ(tk_atoi("0B101"), 5);
|
||||
|
||||
ASSERT_EQ(tk_atoi("#f"), 0xf);
|
||||
ASSERT_EQ(tk_atoi("#f3"), 0xf3);
|
||||
ASSERT_EQ(tk_atoi("#f321"), 0xf321);
|
||||
ASSERT_EQ(tk_atoi("#f321"), 0xf321);
|
||||
ASSERT_EQ(tk_atoi("#13211234"), 0x13211234);
|
||||
ASSERT_EQ(tk_atol("#f"), 0xf);
|
||||
ASSERT_EQ(tk_atol("#f3"), 0xf3);
|
||||
ASSERT_EQ(tk_atol("#f321"), 0xf321);
|
||||
ASSERT_EQ(tk_atol("#f321"), 0xf321);
|
||||
ASSERT_EQ(tk_atol("#13211234"), 0x13211234);
|
||||
ASSERT_EQ(tk_atoul("#f"), 0xf);
|
||||
ASSERT_EQ(tk_atoul("#f3"), 0xf3);
|
||||
ASSERT_EQ(tk_atoul("#f321"), 0xf321);
|
||||
ASSERT_EQ(tk_atoul("#f321"), 0xf321);
|
||||
ASSERT_EQ(tk_atoul("#f3211234"), 0xf3211234);
|
||||
|
||||
ASSERT_EQ(tk_atol("0b11"), 3);
|
||||
ASSERT_EQ(tk_atol("0B101"), 5);
|
||||
ASSERT_EQ(tk_watoi(L"100"), 100);
|
||||
ASSERT_EQ(tk_atof("100"), 100);
|
||||
ASSERT_EQ(tk_atof("1e2"), 100);
|
||||
|
Loading…
x
Reference in New Issue
Block a user