一部のコードを (JavaScript から) C# に変換しようとしています。C# で double の数値 (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)));