标签: divide-by-zero

当语法似乎正确时,简单的SQL划分为零

我使用以下语法:

Case 
  When acdtime != 0 Then sum(CAST(ti_stafftime as DECIMAL)/acdtime)*100 
  Else '0' 
End as MyPercent,
Run Code Online (Sandbox Code Playgroud)

但我仍然收到这个错误:

Msg 8134,Level 16,State 1,Line 3除以零错误.

我在这做错了什么?

我的整个查询如下:

Select 
logid,
row_date,
sum(acdcalls) as 'total calls',
sum(ti_stafftime) as 'total time staffed',
sum(acdtime) as 'time on the phone',
Case
When acdtime != 0 Then sum(CAST(ti_stafftime as DECIMAL)/acdtime)*100
When acdtime = 0 Then '0'
Else '0'
End as MyPercent,
RepLName+', '+RepFName AS Agent,
SupLName+', '+SupFName AS Sup,
MgrLName+', '+MgrFName AS Manager

From CMS_ECH.dbo.dagent dagent
INNER JOIN InfoQuest.dbo.IQ_Employee_Profiles_v3_AvayaId q …
Run Code Online (Sandbox Code Playgroud)

sql sql-server divide-by-zero

0
推荐指数
1
解决办法
572
查看次数

这如何除以零?

真的,Ruby中真正的基本块:

list = (1..125).to_a
list.each do |x|
    print x if 125 % x = 0
end
Run Code Online (Sandbox Code Playgroud)

给我:

ZeroDivisionError: divided by 0
from (irb):3:in `%'
from (irb):3
from (irb):2:in `each'
from (irb):2
Run Code Online (Sandbox Code Playgroud)

然而,块"put x"返回1到125,就像它应该的那样.

到底是怎么回事?

ruby divide-by-zero

0
推荐指数
1
解决办法
185
查看次数

GAS程序集片段除以0,不确定原因

我有以下功能,涉及GAS语法中的i386程序集片段:

inline int MulDivRound(
    int nNumber,
    int nNumerator,
    int nDenominator )
{
    int nRet, nMod;

    __asm__ __volatile__ (
        "mov    %2,     %%eax   \n"
        "mull   %3              \n"
        "divl   %4              \n"
        "mov    %%eax,  %0      \n"
        "mov    %%edx,  %1      \n"

        :   "=m"    (nRet),
            "=m"    (nMod)
        :   "m"     (nNumber),
            "m"     (nNumerator),
            "m"     (nDenominator)
        :   "eax", "edx"
    );

    return nRet + nMod*2 / nDenominator;
}
Run Code Online (Sandbox Code Playgroud)

我注意到,在一些情况下,我正在EXC_I386_DIV使用此功能崩溃.以下调用会产生这样的崩溃:

int res = MulDivRound( 4096, -566, 400 );
Run Code Online (Sandbox Code Playgroud)

我无法清楚地看到正在发生的事情导致此函数除以0:当然它只是移动4096 eax,然后乘以-566,然后将其除以400,返回除法运算结果的两个分量.任何人都可以对此有所了解吗?

x86 assembly gnu-assembler divide-by-zero i386

0
推荐指数
1
解决办法
318
查看次数

在对已解析的xml数据执行计算时,如何避免除零错误

请善待您的答案我现在已经编码了10天.我在代码中执行循环时遇到问题,但我相当肯定这是因为我得到了一个回溯.

我使用以下代码解析从url获取的xml文件:

pattern4 = re.compile('title=\'Naps posted: (.*) Winners:')
pattern5 = re.compile('Winners: (.*)\'><img src=')

for row in xmlload1['rows']:
    cell = row["cell"]

##### defining the Keys (key is the area from which data is pulled in the XML) for use   in the pattern finding/regex
    user_delimiter = cell['username']
    selection_delimiter = cell['race_horse']

##### the use of the float here is to make sure the result of the strike rate calculations returns as a decimal, otherwise python 2 rounds to the nearest integer! 
    user_numberofselections = …
Run Code Online (Sandbox Code Playgroud)

python loops division divide-by-zero python-2.7

0
推荐指数
1
解决办法
9377
查看次数

为什么printf("%d",1/0.0)的输出为0?

我使用的是代码块.

当代码是:

printf("%d",1/0);
Run Code Online (Sandbox Code Playgroud)

程序无法运行,出现错误.但是当我写这个:

printf("%d",1/0.0);
Run Code Online (Sandbox Code Playgroud)

程序可以运行,输出是0.我想知道为什么.

c floating-point printf divide-by-zero undefined-behavior

0
推荐指数
1
解决办法
611
查看次数

在循环内使用计数器时,C++程序崩溃

我正在开发一个非常小的程序来查找C++中整数的除数.我的main方法几乎将int转换为var,并使用int作为参数调用factor方法.这是代码:

void factor(int num)
{
    for(int x = 0; x < ((num + 2) / 2); x++)
    {
        if((num % x) == 0)
        {
            cout << x << " ";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

程序总是在factor()内崩溃.如果我使用此代码,它运行正常:

void factor(int num)
{
    for(int x = 0; x < ((num + 2) / 2); x++)
    {
        {
            cout << x << " ";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

所以问题出在了if((num % x) == 0).当我将该行更改为if((num % 2) == 0)或时if((num % 5) == 0),它会产生正确的结果(我使用32作为测试输入). …

c++ math for-loop divide-by-zero dividebyzeroexception

0
推荐指数
1
解决办法
186
查看次数

C中任何数字除以0都会出现分段错误吗?

int main()
{
    int x = 5, y = 0;
    int z = x / y;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我知道它是在未定义的行为下,但它是否意味着分段错误?CPU处理如何除以0大小写?

当我运行它时,我得到浮点异常(核心转储).

c segmentation-fault divide-by-zero undefined-behavior

0
推荐指数
2
解决办法
726
查看次数

ZeroDivisionError:即使我有一个零捕手,浮点除零

我对Python有点新鲜.我在下面附上了一段代码.constant_a&b是整数.运行此代码时,我收到以下错误:

回溯(最近一次调用最后一次):文件"U:\ V10_run2\process.py",第209行,delta_mcs_2_gfx_percentage =(delta_mcs_2_gfx*100)/ float(mcs)ZeroDivisionError:浮点除零

mcs=hash["MCF"]*constant_a/constant_b  

if mcs is 0:
      delta__percentage=-100
else:
      delta__percentage=(delta*100)/mcs
Run Code Online (Sandbox Code Playgroud)

正如错误所说,我认为这是因为python试图进行整数除法float(delta*100)/float(mcs)并将mcs舍入为0但我也尝试过这也没有帮助.有什么建议 ??

python integer-division divide-by-zero floating

0
推荐指数
1
解决办法
949
查看次数

NaN 与浮点异常?

我在 C++ 中遇到了一个奇怪的行为。

运行以下行会导致浮点异常:

long double res = 0 / 0 * 100;
Run Code Online (Sandbox Code Playgroud)

但是,运行以下几行会导致变量res打印为 -nan:

long double res = static_cast<long double>(0) / 0 * 100;
std::cout << res << std::endl;
Run Code Online (Sandbox Code Playgroud)

谁能澄清为什么会发生这种情况?在什么条件下,计算结果为“nan”,何时会引发除以 0 的异常作为“浮点异常”?

c++ signals exception divide-by-zero

0
推荐指数
1
解决办法
127
查看次数

Perl非法划分为零

我正在尝试运行这个Perl程序.

#!/usr/bin/perl
# ---------------     exchange.pl     -----------------

&read_exchange_rate;     # read exchange rate into memory

# now let's cycle, asking the user for input...

print "Please enter the amount, appending the first letter of the name of\n";
print "the currency that you're using (franc, yen, deutschmark, pound) -\n";
print "the default value is US dollars.\n\n";
print "Amount: ";

while (<STDIN>) {

  ($amnt,$curr) = &breakdown(chop($_));

  $baseval = $amnt * (1/$rateof{$curr});

  printf("%2.2f USD, ", $baseval * $rateof{'U'});
  printf("%2.2f Franc, ", $baseval * $rateof{'F'});
  printf("%2.2f …
Run Code Online (Sandbox Code Playgroud)

unix perl activestate divide-by-zero

-1
推荐指数
1
解决办法
1828
查看次数

在脚本中通过除法实例忽略零

有没有办法忽略列表中的值,在迭代脚本中创建除零而不是删除这些问题值?

我正在考虑如果

if(x==0):
 break
elif(x!=0):
 continue
Run Code Online (Sandbox Code Playgroud)

其中非零值通过脚本继续.

python divide-by-zero python-2.7

-1
推荐指数
1
解决办法
2617
查看次数

向除数中加入一个非常小的数字不是为了处理除零除外是一个好习惯吗?

我想保持我的代码干净,避免不必要的IF分支.
向除数中加入一个非常小的数字不是为了处理除零除外是一个好习惯吗?以下代码是否被视为良好做法?
我知道这种比较在这种情况下不是纯粹100%准确,但让我们没关系.

double safeDivision(double dividend, double divisor)
{
    return (dividend + Double.MIN_VALUE)/(divisor + Double.MIN_VALUE);
}
Run Code Online (Sandbox Code Playgroud)

java double divide-by-zero

-5
推荐指数
1
解决办法
1058
查看次数