问题标签 [type-conversion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 将 TimeSpan 数据类型转换为 DateTime?
我正在使用 C# 3.5 将小型 MSAccess 应用程序转换为基于 Web 的 ASP.NET 应用程序。我想知道在将一些 VBA 代码转换为 C# 时,在 C# 中使用日期的最佳方法是什么。
这是 VBA 代码的示例:
这是我当前的 C# 代码与注释代码中指出的错误的样子:
c++ - C/C++ 中的数值转换
我需要将 C/C++ double 转换为 64 位二进制补码,其中 Radix 点位于第 19 位(含)。
这意味着对于我要转换为的格式
- 0x0000 0000 0010 0000 是数字 1
- 0xFFFF FFFF FFF0 0000 是数字-1
- 0x0000 0000 0000 0001 是 0.95 x 10^-6
- 0xFFFF FFFF FFFF FFFF 为 -0.95 x 10^-6
到目前为止,我一直在使用 C 标准库中的 modf 函数,但这并不能真正满足我的需求。我还查看了 Boost 中的一些类型转换类,但我也找不到合适的解决方案。有谁知道图书馆或简单的方法来进行这种转换?也许更熟悉 Boost 的人可以为我指明正确的方向。
如果这有帮助,这里有一些关于如何存储双打的文档。
编辑:
我有一个后续问题,这真的是为了我自己的利益。什么是“基数”?这里有点像小数点。但是,我唯一一次听到基数这个词是在我学习离散快速傅里叶变换的时候。如果我没记错的话,Radix-II 方法很快,因为计算 DFT 所需的乘法更少。
python - 将 Unicode 字符串转换为 Python 中的字符串(包含额外符号)
如何将 Unicode 字符串(包含额外的字符,如 £ $ 等)转换为 Python 字符串?
c# - 尽管有通用约束,但 C# 类型转换错误
为什么,对“必须继承自 A”的类 P 的类型参数 T 的通用约束,第一次调用成功但第二次调用失败,注释中详述了类型转换错误:
通用约束不应该确保List<T>
确实如此ICollection<A>
吗?
ssis - 如何在 SSIS 中将 SQL Server 类型 varbinary 转换为整数?
我需要在转换中使用二进制数据作为整数并进行一些操作,但是如何进行转换?我尝试了许多 SSIS 数据类型,但没有运气。顺便说一句,我不想使用脚本任务。
[以下更新部分]
数据是存储在 CDC 函数 fn_cdc_get_net_changes 的 __$update_mask 列中的值。以下是我在 SSIS 中尝试的 CAST,
相应的 TSQL 代码将是
这工作正常。但 SSIS CAST 不是。希望这可以提供有关我的查询的足够信息。
c++ - 模板复制构造函数因特定模板类型而失败
由于我的一些代码需要在不同类型的矩阵之间进行隐式转换(例如Matrix<int>
to Matrix<double>
),我定义了一个模板化的复制构造函数Matrix<T>::Matrix(Matrix<U> const&)
而不是标准的Matrix<T>::Matrix(Matrix<T> const&)
:
通过将适当的类型转换添加到复制构造函数中,此方法可以在不同类型的矩阵之间完美地转换。令人惊讶的是,在简单的复制构造函数可以运行的情况下,它会因 malloc 错误而失败: where U == T
。果然,使用默认Matrix<T>::Matrix(Matrix<T> const&)
签名重载复制构造函数可以解决问题。
这是一个糟糕的解决方案,因为它会导致复制构造器代码的大量复制(字面意思是未更改的复制和粘贴)。更重要的是,我不明白为什么malloc
没有重复代码会出现双释放错误。此外,为什么这里需要非常冗长的template <typename T> template <typename U>
语法而不是标准的语法,而且更简洁,template <typename T, typename U>
?
模板化方法的完整源代码,在 Mac OS 10.5 上使用 G++ v4.0.1 编译。
c - 这是将 long 转换为二进制(char *)表示的惯用 C 方法吗?
我猜这个问题在标题中。
这是我想出的临时解决方案,但我想知道:
- 如果将二进制表示为 char* 有缺点。有没有更好的方法(考虑到我想要位移等的能力......)
- 如果下面的代码中有明显的非惯用 C(或其他错误)。
欢迎所有建议...
groovy - Groovy 类型转换
在 Groovy 中,您可以使用as
运算符或asType
方法进行令人惊讶的类型转换。例子包括
我很惊讶我可以从 Integer 转换为 Short 并从 Set 转换为 List,因为这些类型之间没有“是”关系,尽管它们确实共享一个共同的祖先。
例如,下面的代码就转换所涉及的类型之间的关系而言等价于 Integer/Short 示例
但是这个例子当然失败了。as
运算符和方法背后的类型转换规则到底是什么asType
?
file - Vista 将我的代码还原到我身上
出于某种奇怪的原因,当我将 PHP 文件从一个文件夹移动到另一个文件夹时,Vista 会复制该文件的旧版本而不是当前版本。这确实搞砸了我正在开发的 Web 应用程序,并导致我浪费时间来解决问题。
这到底是怎么回事?如何防止 Vista 复制或移动文件的先前版本?
为了进一步解释,当我在当前位置打开我的 PHP 文件时,我会看到我的代码的当前版本。当我将文件复制到新位置并打开文件时,我会看到旧版本的代码。
c - C:在函数调用中传递参数时的类型转换
来自 C 编程语言第 2 版:
由于函数调用的参数是表达式,因此在将参数传递给函数时也会发生类型转换。在没有函数原型的情况下,char 和 short 变为 int,而 float 变为 double。
通过阅读文本,我得到的印象是,除非您使用强制类型转换或函数原型明确指定参数类型,否则函数参数将始终以 int 或 double 形式传递。
为了验证我的假设,我编译了以下代码:
编译后我收到以下警告:
typeconversion.c:11:警告:“function_call”的类型冲突</p>
typeconversion.c:7:警告:“function_call”的先前隐式声明在这里
我的猜测是 c 和 number 在函数调用中都被转换为 int 和 double,然后又被转换回 char 和 float。这是真的发生了吗?