type-conversion相关内容

C# 隐式转换和 == 运算符

一些上下文代码: a 类{}b类{公开一个{get;set;}公共静态隐式运算符 a(b b){返回 b.a;}}一个=空;b b=空;a = b;//编译器:不能将运算符'=='应用于 tralala 类型的操作数...布尔 c = a == b; 是否可以在不同类型的实例上使用 == 运算符,其中一个可以隐式转换为另一个?我错过了什么? 编辑: 如果类型必须是相同的调用==,那么为 ..
发布时间:2022-01-13 08:13:05 C#/.NET

如何在避免未定义行为的同时将任意双精度数转换为整数?

假设我有一个接受 64 位整数的函数,我想调用它带有一个带有任意数值的 double (即它可能非常大量级,甚至无限): void DoSomething(int64_t x);双 d = [...];做某事(d); C++11 标准中 [conv.fpint] 的第 1 段是这样说的: 浮点类型的纯右值可以转换为整数类型.转换截断;也就是小数部分被丢弃.如果截断的值不能,则行为未定义以 ..

Java 中的隐式转换是如何工作的?

我知道在 Java 中整数文字默认是 int,所以如果我写这样的东西 byte byteValue = 2; Java 自动将文字值 2(默认为 int)转换为字节.如果我写,同样的事情也有效 byte byteValue = 4/2; RHS 被评估为 int 并隐式转换为字节. 但是为什么下面两种情况没有发生隐式转换呢? int n1 = 4;字节值 = n1/2; 或在此 ..

乘以 1.0 和 int 到浮点转换的精度

假设条件 (int)(i * 1.0f) == i 对于任何整数 i 为真是否安全? 解决方案 没有. 如果 i 足够大以至于 int(float(i)) != i (假设 float 是 IEEE-754 单精度,i = 0x1000001 足以证明这一点)那么这是错误的,因为乘以 1.0f 会强制转换为 float,即使随后的乘法不会改变值. 但是,如果 i 是一个 32 ..
发布时间:2022-01-13 08:12:26 C/C++开发

在 PHP 中使用 settype 而不是使用括号进行类型转换,有什么区别?

在 PHP 中,您可以将某些东西类型转换为这样的对象;(object) 或者您可以使用 settype($var, "object") - 但我的问题是两者之间有什么区别? 哪一个更有效/更好用?目前我发现 using (object) 可以完成这项工作,但想知道为什么还有一个 settype 函数. 解决方案 强制转换改变了变量在当前上下文中被视为什么,settype 永久改变它. ..
发布时间:2022-01-13 08:12:20 PHP

将 32 位无符号整数(大端)转换为 long 并返回

我有一个 byte[4] 包含一个 32 位无符号整数(大端序),我需要将它转换为 long(因为 int 不能保存无符号数). 另外,我该怎么做,反之亦然(即从包含 32 位无符号整数的 long 到 byte[4])? 解决方案 听起来像是 ByteBuffer. 有点像 public static void main(String[] args) {字节[] 有效载荷 ..
发布时间:2022-01-13 08:12:11 Java开发

如何在 python 中将字节对象转换为十进制或二进制表示?

我想在 python 3.x 中将字节类型的对象转换为二进制表示. 例如,我想将字节对象 b'\x11' 转换为二进制表示的二进制表示 00010001(或十进制的 17). 我试过了: print(struct.unpack("h","\x11")) 但我得到了: error struct.error: unpack 需要一个长度为 2 的字节对象 解决方案 从 Pytho ..
发布时间:2022-01-13 08:11:16 Python

将字符串转换为小数分隔符“."的最佳方法和“,"麻木不仁的方式?

应用程序处理代表来自不同文化的小数的字符串.例如“1.1"和“1,1"是同一个值. 我使用了 Decimal.TryParse 标志组合,但无法达到我想要的结果.“1,1"毕竟变成了“11"或“0". 是否可以在一行代码中将此类字符串转换为十进制,而无需预先将“,"字符替换为“."或玩 NumberFormat.NumberDecimalSeparator ? 你如何处理这种情况 ..
发布时间:2022-01-13 08:11:01 C#/.NET

如何在 Scala 中组合选项值?

我希望能够应用一个操作 f: (T,T) =>Scala 中的 T 到 Option[T] 值.如果两个值中的任何一个为 None,我希望结果为 None. 更具体地说,我想知道是否有更短的方法来执行以下操作: def opt_apply[T](f: (T,T) => T, x: Option[T], y: Option[T]): Option[T] = {(x,y) 匹配 {案例(一些( ..
发布时间:2022-01-13 08:10:52 其他开发

将 double 转换为 Int,向下舍入

如何将 double 值转换为 int 执行以下操作: Double If x = 4.97542.转换为 int x = 4.如果 x = 4.23544,则为双倍.转换为 int x = 4. 也就是说,答案总是向下取整. 解决方案 如果显式cast double 为int,小数部分将被截断.例如: int x = (int) 4.97542;//只给出4个int x = (in ..
发布时间:2022-01-13 08:10:46 Java开发

Convert.ToBoolean 以“0"失败;价值

我正在尝试将值 "0" ( System.String ) 转换为其 Boolean 表示形式,例如: var myValue = Convert.ToBoolean("0");//这里抛出异常 我查看了 MSDN 页面,并在代码示例块中,我找到了这些行: ConvertToBoolean("0");//...无法将“0"转换为布尔值. 在我的代码中,我将 System.String 转换 ..
发布时间:2022-01-13 08:10:25 C#/.NET

在 C++ 中以高性能将 double 转换为 char*

我的应用程序需要将双精度值转换为 char* 以写入仅接受字符的管道.执行此操作的常用方法是使用 sprintf() 函数或使用 iomanip.h 头文件中的 ostringstream. 事实证明,这两者的表现都非常糟糕.而且我的应用程序需要经常进行这种转换,以至于它成为主要的瓶颈. 还有其他功能可以使用吗?我可以使用什么逻辑来编写高效的转换函数?到目前为止,我唯一能想到的就是使用 ..
发布时间:2022-01-13 08:10:10 C/C++开发

将 io.BytesIO 转换为 io.StringIO 以解析 HTML 页面

我正在尝试解析通过 pyCurl 检索到的 HTML 页面,但 pyCurl WRITEFUNCTION 将页面返回为 BYTES 而不是字符串,因此我无法使用 BeautifulSoup 解析它. 有没有办法将 io.BytesIO 转换为 io.StringIO? 或者有没有其他方法可以解析 HTML 页面? 我正在使用 Python 3.3.2. 解决方案 一种天真 ..
发布时间:2022-01-13 08:10:00 前端开发

更好的是: int.TryParse 或 try { int.Parse() } catch

我知道..我知道...性能不是这里的主要关注点,只是出于好奇,什么更好? bool parsed = int.TryParse(string, out num);如果(解析)... 或 试试{int.Parse(string);}抓住 () {做一点事...} 解决方案 Better 是非常主观的.例如,我个人更喜欢int.TryParse,因为我通常不关心为什么解析失败,如果它失败了. ..
发布时间:2022-01-13 08:09:52 C#/.NET