Fix error converting to double char8_t

This commit is contained in:
Aleksandr Orefkov 2026-02-11 11:24:57 +03:00
parent 8cf026f2c6
commit e62493a678
2 changed files with 3 additions and 1 deletions

View File

@ -306,7 +306,7 @@ public:
#ifdef __linux__ #ifdef __linux__
if constexpr(sizeof(K) == 1) { if constexpr(sizeof(K) == 1) {
double d{}; double d{};
if (std::from_chars(ptr, ptr + len, d).ec == std::errc{}) { if (std::from_chars((const u8s*)ptr, (const u8s*)ptr + len, d).ec == std::errc{}) {
return d; return d;
} }
return {}; return {};

View File

@ -484,6 +484,8 @@ TEST(SimStr, ToInt) {
TEST(SimStr, to_double) { TEST(SimStr, to_double) {
EXPECT_EQ(ssa{" 123"}.to_double(), 123.0); EXPECT_EQ(ssa{" 123"}.to_double(), 123.0);
EXPECT_EQ(ssa{" 123.1"}.to_double(), 123.1); EXPECT_EQ(ssa{" 123.1"}.to_double(), 123.1);
EXPECT_EQ(ssb{u8" 123"}.to_double(), 123.0);
EXPECT_EQ(ssb{u8" 123.1"}.to_double(), 123.1);
EXPECT_EQ(ssu{u" 123.13434"}.to_double(), 123.13434); EXPECT_EQ(ssu{u" 123.13434"}.to_double(), 123.13434);
EXPECT_EQ(ssuu{U" 123.13434"}.to_double(), 123.13434); EXPECT_EQ(ssuu{U" 123.13434"}.to_double(), 123.13434);
EXPECT_EQ(ssw{L" 123.13434"}.to_double(), 123.13434); EXPECT_EQ(ssw{L" 123.13434"}.to_double(), 123.13434);