我目前在将String数据类型转换为Date类型方面遇到一些挑战。我使用了 MarkLogic JavaScript 函数xdmp.parseDateTime,但总是收到以下错误:
场景:将“2013-04-21”(字符串)转换为2013-04-21(日期类型)
代码:
let targetDateString = "2013-04-21";
let targetDate = new Date();
targetDate = xdmp.parseDateTime("[Y0001]-[M01]-[D01]",
xs.date(targetDate));
Run Code Online (Sandbox Code Playgroud)
错误信息:
XDMP-ARGTYPE: xdmp.parseDateTime("[Y0001]-[M01]-[D01]", xs.date("2013-04-21")) -- arg2 不是 String 类型
我是否使用了正确的 MarkLogic 函数,为其提供了正确的参数?或者有更好的方法吗?
如何将日期转换回字符串数据类型?
我正在尝试从数字中提取日期。日期存储为 11 位个人 ID 号(日期-月份-年)的前 6 位数字。不幸的是,基于云的数据库 (REDCap) 输出被格式化为数字,因此每月前 9 天出生的人的前导零最终会变成 10 位数字的 ID 号码,而不是 11 位数字。我设法提取了与日期相对应的 6 或 5 位数字,即 311230 代表 1930 年 12 月 31 日,或 11230 代表 1930 年 12 月 1 日。我最终遇到了两个无法解决的问题。
假设我们使用以下数字:
dato <- c(311230, 311245, 311267, 311268, 310169, 201104, 51230, 51269, 51204)
Run Code Online (Sandbox Code Playgroud)
我将它们转换为字符串,然后应用 as.Date() 函数:
datostr <- as.character(dato)
datofinal <- as.Date(datostr, "%d%m%y")
datofinal
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是:
我确信这对于那些对 R 有更多了解的人来说一定很容易,但是,我在解决这个问题上有点困难。任何帮助是极大的赞赏。
问候比约恩
我发现了 3 种将 Uint8Array 转换为 BigInt 的方法,由于某种原因,它们都给出了不同的结果。您能告诉我哪一种是正确的以及我应该使用哪一种吗?
bigintConversion.bufToBigint()函数来获取 BigInt。实现如下:export function bufToBigint (buf: ArrayBuffer|TypedArray|Buffer): bigint {
let bits = 8n
if (ArrayBuffer.isView(buf)) bits = BigInt(buf.BYTES_PER_ELEMENT * 8)
else buf = new Uint8Array(buf)
let ret = 0n
for (const i of (buf as TypedArray|Buffer).values()) {
const bi = BigInt(i)
ret = (ret << bits) + bi
}
return ret
}
Run Code Online (Sandbox Code Playgroud)
let view = new DataView(arr.buffer, 0);
let result = view.getBigUint64(0, true);
Run Code Online (Sandbox Code Playgroud)
let …Run Code Online (Sandbox Code Playgroud) 如何将日期字符串(通常为"ccyymmdd")转换为C#中的DateTime对象?
例如,如何将"20100715"转换为DateTime对象.
请 - 没有RTFM链接到Microsoft Tech Docs.
非常感谢...
我正在开发一个SSIS包,它将打开Excel电子表格并将数据导入SQL Server 2008中的数据库表.当我尝试将Excel列数据类型转换Unicode String [DT_WSTR]为唯一标识符数据类型:时unique identifier [DT_GUID],我收到以下错误:
"转换规范的字符值无效"
我需要做些什么来解决转换错误?
如何将简单的字符串转换为以null结尾的字符串?
示例字符串:"测试消息"
以下是字节:
54 65 73 74 20 6D 65 73 73 61 67 65
Run Code Online (Sandbox Code Playgroud)
我需要字符串,如下所示:
54 00 65 00 73 00 74 00 20 00 6D 00 65 00 73 00 73 00 61 00 67 00 65 00 00
Run Code Online (Sandbox Code Playgroud)
我可以使用循环,但代码太难了.如何通过本机方法进行此转换?
该文件大约是24mb,并且它保存在DataBase中,所以我将它转换为位数组然后,经过多次建议后,我使用了bitconverter.tosingle(,),这给了我不好的结果,这是我的代码:
byte[] imgData = prod.ImageData;
float myFloat = BitConverter.ToSingle(imgData, 0);
float mb = (myFloat / 1024f) / 1024f;
Run Code Online (Sandbox Code Playgroud)
当我调试时,我得到这些结果:
字节[24786273]
myFloat = 12564.0361
mb = 0.0119819986
奇怪的是,数组的大小与文件的大小完全相同.如何正确地将其转换为浮动然后显示为mb?
编辑:我尝试将myFloat设置为imgData.Length,然后大小是正确的,但是这是一个正确的方法,并且它会在未来导致更大的值的问题?
我正在尝试将二进制数据(字符串)转换为十六进制数据(字符串)
string BinaryData = 1011000000001001001000110100010101100111100000000001000001111011100010101011";
string HexaDecimalData = Convert.ToInt64 ( BinaryData, 2 ).ToString ( "X" );
Run Code Online (Sandbox Code Playgroud)
我得到一个OverflowException : Value was either too large or too small for a UInt64. 我可以理解二进制字符串很大,但同时我不能想到比Int64更大的数据类型.
有什么建议?
我遇到了一些混乱的手术。
var a = 0.1;
var b = 0.2;
var c = 0.3;
console.log(a); // 0.1
console.log(b); // 0.2
console.log(c); // 0.3
Run Code Online (Sandbox Code Playgroud)
但,
consolo.log(a+b+c) // 0.6000000000000001.
Run Code Online (Sandbox Code Playgroud)
而
console.log(a+(b+c)) // 0.6
Run Code Online (Sandbox Code Playgroud)
我知道Javascript使用二进制浮点数,因此无法准确表示0.1、0.2、0.3,但是(b + c)的括号是什么?这里有什么转换或四舍五入吗?
非常感谢,
我的python脚本通过串行线路获取并发送单词。每个字都是带符号的24位值,以十六进制字符串形式接收。现在,脚本应该将这些字符串转换为整数,对其进行一些计算,然后以相同的格式发送回去。我的问题是,如何进行此转换
Examples
Rx string -> calc int
012345 -> 74565
fedcba -> -74566
calc int -> Tx string
74565 -> 012345
-74566 -> fedcba
Run Code Online (Sandbox Code Playgroud)
如何才能做到这一点?
data-conversion ×10
c# ×3
javascript ×3
string ×2
biginteger ×1
c#-4.0 ×1
date ×1
datetime ×1
excel ×1
hex ×1
marklogic ×1
python ×1
r ×1
redcap ×1
rounding ×1
ssis ×1
typescript ×1
uint ×1