我正在尝试将一个数字从整数转换为另一个整数,如果以十六进制打印,则看起来与原始整数相同.
例如:
将20转换为32(即0x20)
将54转换为84(即0x54)
我有一个格式的字符串:Python中的'nn.nnnnn',我想将它转换为整数.
直接转换失败:
>>> s = '23.45678'
>>> i = int(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '23.45678'
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法将其转换为十进制:
>>> from decimal import *
>>> d = Decimal(s)
>>> print d
23.45678
Run Code Online (Sandbox Code Playgroud)
我也可以拆分'.',然后从零中减去小数,然后将其添加到整数......哎呀.
但我更喜欢把它作为一个int,没有不必要的类型转换或机动.
在这里,我尝试创建视图,如下所示:
例:
create view view1
as
select table1.col1,table2.col1,table3.col3
from table1
inner join
table2
inner join
table3
on
table1.col4 = table2.col5
/* Here col4 of table1 is of "integer" type and col5 of table2 is of type "varchar" */
/* ERROR: operator does not exist: integer = character varying */
....;
Run Code Online (Sandbox Code Playgroud)
注意:在sql server中执行相同的查询但在postgreSQL中遇到上述错误.
我正在处理一个我声明为Integer的变量,并发现>不是Integer的成员.这是一个简单的例子:
scala> i
warning: there were deprecation warnings; re-run with -deprecation for details
res28: Integer = 3
scala> i > 3
<console>:6: error: value > is not a member of Integer
i > 3
^
Run Code Online (Sandbox Code Playgroud)
将它与Int进行比较:
scala> j
res30: Int = 3
scala> j > 3
res31: Boolean = false
Run Code Online (Sandbox Code Playgroud)
Integer和Int有什么区别?我看到了弃用警告,但我不清楚为什么它被弃用,并且鉴于它已经存在,为什么它没有>方法.
在C#中,你可以隐式地连接一个字符串,让我们说一个整数:
string sth = "something" + 0;
Run Code Online (Sandbox Code Playgroud)
我的问题是:
为什么,假设您可以隐式地连接字符串和int,C#不允许初始化字符串,如下所示:
string sth = 0; // Error: Cannot convert source type 'int' to target type 'string'
Run Code Online (Sandbox Code Playgroud)C#如何将0转换为字符串.它是0.ToString()或者(string)0还是其他什么东西?
我正在阅读Kathy Sierra和Bert Bates的SCJP Java 6,这本书让我很困惑.在页245上,他们在下面说明以下代码.
Integer i1 = 1000;
Integer i2 = 1000;
if(i1 != i2)
System.out.println("different objects");
//Prints output
different objects
Run Code Online (Sandbox Code Playgroud)
然后在下一页上,他们有以下代码
Integer i3 = 10;
Integer i4 = 10;
if(i3 == i4)
System.out.println("same objects");
//Prints output
same objects
Run Code Online (Sandbox Code Playgroud)
我很困惑!当我自己尝试这个时,似乎你不能使用==来比较你使用equals()方法的方式.即使整数变量设置为相同的值(即10),使用==总是给我'假'.我对么?使用==来比较相同的Integer对象(具有相同的值)将始终导致'false'
在python或标准库中是否存在整数平方根?我希望它是准确的(即返回一个整数),并且如果没有解决方案则吠叫.
目前我推出了自己的天真的:
def isqrt(n):
i = int(math.sqrt(n) + 0.5)
if i**2 == n:
return i
raise ValueError('input was not a perfect square')
Run Code Online (Sandbox Code Playgroud)
但它很难看,我不相信大整数.如果我超过了这个值,我可以遍历正方形并放弃,但我认为做这样的事情会有点慢.另外我想我可能正在重新发明轮子,这样的东西肯定已经存在于python ......
我有一个50k行的熊猫数据框.我正在尝试添加一个新列,它是从1到5的随机生成的整数.
如果我想要50k随机数我会使用:
df1['randNumCol'] = random.sample(xrange(50000), len(df1))
Run Code Online (Sandbox Code Playgroud)
但为此,我不知道该怎么做.
R中的旁注,我会这样做:
sample(1:5, 50000, replace = TRUE)
Run Code Online (Sandbox Code Playgroud)
有什么建议?
如果 along int和 aint在平台上的表示相同,它们是否严格相同?根据 C 标准,这些类型在平台上的行为是否有任何不同?
例如。这是否总是有效:
int int_var;
long long_var;
void long_bar(long *l);
void int_bar(int *i);
void foo()
{
long_bar(&int_var); /* Always OK? */
int_bar(&long_var);
}
Run Code Online (Sandbox Code Playgroud)
我想同样的问题适用于 short 和 int,如果它们碰巧是相同的表示。
在讨论如何为int32_t没有 stdint.h 的嵌入式 C89 编译器定义一个-like typedef时出现了问题,即 as intorlong以及是否重要。
null=Trueblank=Truedefault = 0有什么不同?你什么时候用的?