type-conversion 相关问题

类型转换是隐式或显式地将一种数据类型的实体更改为另一种数据类型的方式。这样做是为了利用类型层次结构或类型表示的某些功能。

Confluence Kafka Timestamp Converter 值问题

我使用 Apache Kafka 和 Confluence Connect v7.3.2 平台以及部署为 Sink Connector 的 MongoDB 连接器,以便将具有 2 个时间戳字段的消息流式传输到集合中。这些值

回答 1 投票 0

将字符串“d.m.Y”转换为格式为“Y-m-d”的日期

目前,我已经使用 fread 将数据导入到 R 中,并且导入工作正常。然而,对于 2 列,日期被读取为“d.m.Y”并保存为字符。问题是c...

回答 1 投票 0

BigQuery - 将十六进制字符串转换为 NUMERIC 或 BIGNUMERIC?

我有一个十六进制格式的数据字符串。就像是 '

回答 2 投票 0

Golang中如何将字符串转换为int数组?

我有一个像这样的字符串: foo := "[1,2,3,4,5]" 如何解析这个字符串并将其转换为 []int ? [1,2,3,4,5] 就好像我要像这样初始化数组: foo := []int{1,2,3,4,5}

回答 2 投票 0

是否可以传递 long 而不是 CORBA::Long 等?

我在任何地方都找不到答案。问题很(?)简单。假设我有这样的功能: 类 Sth { 私人的: 长你; 民众: 空集(长u) { 这个.u = u; } }; 我运行它

回答 3 投票 0

如何将String转换为JsonNode

我正在尝试转换此属性: 私有字符串模板数据; 存储在数据库中: 私有 JsonNode 模板数据; ,但我的字符串看起来像这样:firstName,lastName,我需要它......

回答 1 投票 0

C 中的兼容类型和结构

我有以下代码: int 主函数(无效) { 结构体 { int x; } a,b; 结构体 { int x; } C; 结构体 { int x; } *p; b = a; /* 好的 */ c = a; /* 不起作用 */ p = &a; /*

回答 5 投票 0

为什么接口不能分配给Record<string, unknown>?

我刚刚注意到接口无法分配给Record(游乐场链接): 接口 Foo { foo:数字 } const foo: Foo = { foo: 1 } 常量栏:记录 我刚刚注意到接口无法分配给Record<string, unknown>(playground链接): interface Foo { foo: number } const foo: Foo = { foo: 1 } const bar: Record<string, unknown> = foo // |-> Error: Type 'Foo' is not assignable to type 'Record<string, unknown>' // Index signature is missing in type 'Foo'.(2322) 但是,当省略 Foo 的类型声明时,同样是可能的(playground 链接): const foo = { foo: 1 } const bar: Record<string, unknown> = foo // no error here 问题: 为什么两个示例之间存在差异?对我来说,变量 foo 的简化类型在两个示例中都是相同的......接口 Foo 不应该分配给 Record<string, unknown> 吗? 根据我的理解,Record<string, unknown>相当于object,因此任何接口都应该可以分配给它。另外 @typescript-eslint/ban-types 建议使用 Record<string, unknown> 而不是 object。 备注: 第一个示例在使用 object (playground link) 或 Record<string, any> (playground link) 代替 Record<string, unknown> 时有效。 您遇到过类型中缺少索引签名(仅在接口上,不在类型别名上)#15300 当您将接口更改为类型时,代码将起作用: type Foo = { foo: number } const foo: Foo = { foo: 1 }; const bar: Record<string, unknown> = foo; 编辑:@Lesiak 上面有正确的答案。我留下这个只是为了相关答案的链接。 诚然,我有点超出了我的深度,但我正在浏览这个答案,我看到: [A]TypeScript 安全性的很大一部分来自于这样一个事实:[...]只有当它知道它明确地打算作为一个对象时,它才会让您将对象视为字典。 这与我的测试一致。修改您的界面以明确将 Foo.foo 视为索引不会产生错误。 (游乐场链接) interface Foo { [foo: string]: number } const foo = { foo: 1 } const bar: Record<string, unknown> = foo 这并不能完全回答您的问题,因为 Record<string, any> 适用于您的显式界面,但也许知识渊博的人可以从这里获取它。 Record<string, unknown> 需要索引签名(参见 GitHub 上的此评论)。 所以这无法编译: interface X { a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, unknown> = x; // error 编译成功: interface X { [key: string]: unknown; a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, unknown> = x; // okay 这也可以成功编译,因为推断了类型的索引签名(参见 GitHub 上的此评论): type X { a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, unknown> = x; // okay 这也可以成功编译,因为 Record<string, any> 不需要索引签名(参见 GitHub 上的此评论): interface X { a: boolean; b: number; } const x: X = { a: true, b: 1 }; const y: Record<string, any> = x; // okay

回答 3 投票 0

如何为具有一组整数值的输入获取整数输出

我正在编写一个名为“计算器”的程序,它接受一组数字并根据输入执行操作。例如: python Calculator.py add 8 2 3,我应该得到 13。但我

回答 1 投票 0

从 const char[] 到带有字符串构造函数的类

我尝试将字符串传递给函数而不是 A 类的对象,但出现错误。 为什么它不工作,我怎样才能让它工作? #包括 A类{ 民众: A(const std::...

回答 4 投票 0

当输入是整数时如何打印整数

我正在编写一个名为“计算器”的程序,它必须根据输入执行操作,例如:python Calculator.py add 16 9 4,输出应该是29而不是29.0,但是我.. .

回答 1 投票 0

检查可调用签名参数是否是任何指针类型或可转换为特定类型?

我正在使用宏来进行编译时签名匹配,如下所示: #define ifSigMatch(sig) if constexpr (std::is_same_v(f)}), std::function 我正在使用宏来进行编译时签名匹配,如下所示: #define ifSigMatch(sig) if constexpr (std::is_same_v<decltype(std::function{std::forward<Foo>(f)}), std::function<sig>>) template <class T, class Foo> void afoo(Foo f) { ifSigMatch(void(T)) { ... } ifSigMatch(bool(T)) { ... } ifSigMatch(bool(T, int)) { ... } ... } 有没有办法处理Foo的第一个输入参数是任何指针类型的情况,或者参数可以隐式转换为T,而不需要向afoo添加更多模板参数? 最好是 c++17 或更低版本。 要处理 Foo 的第一个输入参数是任何指针类型或可隐式转换为 T 的情况,您可以将 SFINAE(替换失败不是错误)与 std::enable_if 结合使用。以下是您如何修改宏和模板函数afoo以实现此目的,而无需添加更多模板参数: #include <functional> #include <type_traits> #define ifSigMatch(sig) if constexpr (std::is_invocable_v<Foo, sig>) template <class T, class Foo> void afoo(Foo f) { ifSigMatch(T*) { ... } else ifSigMatch(std::enable_if_t<std::is_convertible_v<std::invoke_result_t<Foo, T>, T>, T>) { ... } else ifSigMatch(bool(T)) { ... } else ifSigMatch(bool(T, int)) { ... } // Add more conditions as needed // ... } 您可以使用具有类模板专门化的辅助类来获取返回类型和参数类型,然后在 constexpr 方法中使用它们来比较签名。 如果您想允许返回类型可转换为您指定的类型,可以使用 std::is_convertible_v 代替 std::is_same_v。 #include <type_traits> template <typename> struct Function; // This primary template is not defined. template <typename R, typename... Args> struct Function<R(Args...)> { template <typename Foo> constexpr bool matchesSig() { if constexpr (std::is_invocable_v<Foo, Args...>) { // only return true when the return type is EXACTLY as specified // otherwise, ifSigMatch(bool(T)) would also always imply // ifSigMatch(void(T)) to be true return std::is_same_v<std::invoke_result_t<Foo, Args...>, R>; } return false; }; }; #define ifSigMatch(sig) if constexpr (Function<sig>().template matchesSig<Foo>())

回答 2 投票 0

无法用 Pascal 求简单积分

我写了一个用矩形法求解积分X^2+2的程序 程序四; var a, b :实数; { 边框 } h:实数; { 增量参数 } s:实数; { 近似值...

回答 1 投票 0

从用户定义的转换直接初始化可优化中间对象

我正在寻找一种方法来就地初始化元组,并发现这个发布的解决方案依赖于类之间的转换。 我想知道哪些规则会导致中间......

回答 1 投票 0

在函数调用中将函数指针转换为 void*,然后将它们重新转换为原始类型

我有一个包含函数回调的结构,该函数回调的定义因编译器而异 typedef 结构体 structA { #ifdef_编译器A_ 无效(*func)(int); int 参数; #别的 维...

回答 1 投票 0

Long.MaxValue 从 Single 转换为 Long 导致溢出异常

Long.MaxValue 的值为 9,223,372,036,854,775,807。当转换为单精度值时,变为 9.223372E18。然而,转换回 Long 会引发 System.OverflowException。尽管...

回答 1 投票 0

如何动态处理分页的页码显示? :ReactJS

我不是编码员或开发人员,但我有一个由其他人制作的网站,并且分页已经失控。 在此输入图像描述 正如你所看到的,我目前有 17 页正在...

回答 1 投票 0

将 char 数组转换为 float 时出现意外问题

我有一个char数组,需要将其转换为float。 我有两个 16 位值: A = 7C37 B = 428B 它们需要像 42 8B 7C 37 一样排列来代表浮点数中的 69.743,但我有

回答 1 投票 0

如何将货币转换为数字?

我正在使用javascript,我已经看到了一些将货币转换为数字的方法,但没有一种能够灵活地理解多种输入格式(小数分隔符根据用户偏好而变化......

回答 1 投票 0

将货币转换为数字 - JS

我正在使用javascript,并且我已经看到了一些将货币转换为数字的方法,但没有一种能够灵活地理解多种输入格式(小数分隔符根据用户偏好而变化......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.