标签: numbers

PHP:intval()等价于数字> = 2147483647

在PHP 5中,每当我将数字作为输入时,我都使用intval().这样,我想确保我没有字符串或浮动数字.我的输入数字应该都是整数.但是当我得到数字> = 2147483647时,超过了有符号整数限制.

对于所有大小的数字,我能做些什么的intval()?

这就是我想要的:

<?php
$inputNumber = 3147483647.37;
$intNumber = intvalEquivalent($inputNumber);
echo $intNumber; // output: 3147483647
?>
Run Code Online (Sandbox Code Playgroud)

非常感谢你提前!

编辑:根据一些答案,我试图编写一个等效的函数.但它并不像intval()那样完全正常.我怎样才能改进它?这有什么问题?

function intval2($text) {
    $text = trim($text);
    $result = ctype_digit($text);
    if ($result == TRUE) {
        return $text;
    }
    else {
        $newText = sprintf('%.0f', $text);
        $result = ctype_digit($newText);
        if ($result == TRUE) {
            return $newText;
        }
        else {
             return 0;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

php types integer numbers

25
推荐指数
2
解决办法
2万
查看次数

数字格式,写入1e-5而不是0.00001

我曾经read.table读过一个包含0.00001等数字的文件

当我把它们写回来时,write.table这些数字显示为1e-5

我怎样才能保留旧格式?

format numbers r

25
推荐指数
3
解决办法
7万
查看次数

用于格式化前导零的数字的SQLite函数?

我有一个需要包含产品的SQLite数据库.这些产品具有固定格式的复合产品编号,包括类别,组和产品编号(cccccc.gg.ppp).每次插入新产品时,都应使用类别和组编号构建新产品编号,然后使用该编号增加1中的最高产品编号.

为此,我考虑将所有三个数字存储在单独的字段中,并使用视图动态组合产品编号.为了实现这一点,我需要添加前导零,因为产品编号的格式是固定的.

但是,我似乎无法找到一个内置的SQLite函数,它可以让我这样做...... :-(

我宁愿不写自定义函数,因为我们可能不得不与其他开发人员共享数据库,以便他们从中读取数据; 我不知道他们将使用什么平台或语言.

可以这样做吗?或者我们必须找到不同的解决方案吗?

sqlite formatting numbers leading-zero

25
推荐指数
4
解决办法
2万
查看次数

VB.net需要文本框才能接受数字

我是VB.net的新手(自学成才),只是想知道是否有人可以帮我解决一些代码问题.我不是想做任何太多涉及的事情,只是TextBox接受一个从1到10的数值.我不希望它接受一个字符串或任何高于10的数字.如果有人输入一个单词或字符的错误信息将出现,告诉他输入有效的号码.这就是我的意思; 显然它不是很好,因为我有问题.再次感谢任何可以提供帮助的人.

 If TxtBox.Text > 10 Then
        MessageBox.Show("Please Enter a Number from 1 to 10")
        TxtBox.Focus()
    ElseIf TxtBox.Text < 10 Then
        MessageBox.Show("Thank You, your rating was " & TxtBox.Text)
        Total = Total + 1
    ElseIf IsNumeric(TxtBox.Text) Then
        MessageBox.Show("Thank you, your rating was " & ValueTxtBox.Text)
    End If

    ValueTxtBox.Clear()
    ValueTxtBox.Focus()
Run Code Online (Sandbox Code Playgroud)

vb.net textbox numbers

25
推荐指数
5
解决办法
28万
查看次数

在Haskell中将整数转换为Double

我想复合增长超过一年,但我不关心小数点,所以我试过

take 52 $ iterate (floor . (*1.1)) 100
Run Code Online (Sandbox Code Playgroud)

问题是is的类型(floor . (*1.1))Double -> Integer,而第一个arg迭代所期望的类型是a -> a.

我尝试了几种方法,但最终将自己捆绑在一起.

在函数应用程序中保持数字类型一致的首选解决方案是什么?

haskell numbers

25
推荐指数
1
解决办法
2万
查看次数

24
推荐指数
3
解决办法
3万
查看次数

sql like运算符只能获取数字

这是我认为一个简单的问题,但还没有得到解决方案.我想从这里解释的列中获取有效数字.

假设我们有一个varchar列,其中包含以下值

ABC
Italy
Apple
234.62
2:234:43:22
France
6435.23
2
Lions
Run Code Online (Sandbox Code Playgroud)

这里的问题是只选择数字

select * from tbl where answer like '%[0-9]%' 会做到但它会回来

    234.62
    2:234:43:22
    6435.23
    2
Run Code Online (Sandbox Code Playgroud)

在这里,显然,2:234:43:22是不可取的,因为它不是有效数字.

期望的结果是

        234.62
        6435.23
        2
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

sql sql-server numbers

24
推荐指数
3
解决办法
12万
查看次数

Float to String格式说明符

我有一些浮点值我想转换为字符串,我想在转换时保持格式相同,即999.0000(浮点) - > 999.0000(字符串).我的问题是当值包含小数点后的任意数量的零时,如前例所示,它们在转换为字符串时被剥离,因此我实际上最终得到的结果是999.

我查看了MSDNtoString()方法的格式说明符,RoundTrip('R')说明符看起来会产生我想要的,但它只支持Single,Double和BigInt变量.浮点变量是否有这样的格式说明符?或者将值转换为双精度会更容易吗?

更新:为了清楚起见,我想保留尾随零的原因是因为我正在对小数位进行比较,即我正在比较两个值之间小数位后的位数.因此,例如,1.00和1.00000在小数点后具有不同的位数.我知道这是一个奇怪的请求,它是为了工作而且需求来自高位.

更新2-3-11:

我正在考虑这个问题,我正在读取txt文件中的数字,然后将它们解析为浮点数,我将修改程序以检查字符串值是小数还是整数.很抱歉浪费你的时间,虽然这非常有见地.

c# parsing numbers string-formatting

24
推荐指数
4
解决办法
18万
查看次数

如何获得小数点后的数字?(Java)的

 double d = 4.321562;
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法从d中提取0.321562?我试着看数学课,但没有运气.如果这可以在不转换为字符串或转换为其他任何内容的情况下完成,甚至更好.

java math double numbers decimal-point

24
推荐指数
3
解决办法
7万
查看次数

是否可以将std :: numeric_limits <T>专门用于用户定义的类似数字的类?

文档std::numeric_limits<T>说它不应该专门针对非基本类型.数字式用户定义类型怎么样?如果我定义了我自己的T表示数值的类型并重载数字运算符,并且表示的信息numeric_limits是有意义的 - 如果我专门numeric_limits针对该类型,会有什么破坏吗?

c++ standards types numbers

24
推荐指数
2
解决办法
4363
查看次数