这种方法正确找出SQLite使用的小数点吗?
#!/usr/bin/env perl
use warnings;
use strict;
use POSIX qw(locale_h);
my $locale_values = localeconv();
my $dec_mark_sqlite = $locale_values->{decimal_point};
最佳答案
您无需为此编写任何代码。在SQL语言中,.
始终是十进制分隔符,而,
始终分隔列表条目。
请注意,当您的代码与数据库交互时,使用浮点数的最直接,最有效的方法不需要文本转换:
my $sth = $dbh->prepare("SELECT OutVal FROM Tab WHERE InVal > ?");
my $input_value = 1.234;
$sth->execute($input_value); # no text conversion
while (my $row = $sth->fetchrow_array()) {
my $output_value = $row[0]; # no text conversion
}
如果要在文本之间转换浮点值,则可能做错了什么。
关于perl - SQLite十进制标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033131/