我正在尝试将一些代码转换为 C#(来自 JavaScript),我需要通过 C# 将双数(0.04036483168558814)转换为“.toString(36)/Base36”。
JavaScript 代码在这里:
var num = 0.04036483168558814;
var n = num.toString(36);
下面的输出(n):
0.1gb9f0lx08ij9wwfwkyk5d0a4i
我需要 C# 的相同结果,那么我将如何在 C# 中获得相同的结果?
我应用了一些代码,但它们不起作用。我的代码如下(由 C# 编写):
1)
string OutputVal = Convert.ToString(Int64.Parse("0.04036483168558814"), 36);
或者
string OutputVal = Convert.ToString(Int64.Parse("0.04036483168558814".Substring(2)), 36);
2)
private const string CharList = "0123456789abcdefghijklmnopqrstuvwxyz";
public static String Encode(long input)
{
if (input < 0) throw new ArgumentOutOfRangeException("input", input, "input cannot be negative");
char[] clistarr = CharList.ToCharArray();
var result = new Stack<char>();
while (input != 0)
{
result.Push(clistarr[input % 36]);
input /= 36;
}
return new string(result.ToArray());
}
string OutputString = Encode(Int64.Parse("0.04036483168558814"));
or
string OutputString = Encode(Int64.Parse("0.04036483168558814".Substring(2)));