※ 引述《a29788685 (嘉峰)》之铭言:
: 您好,想请问,
: 我有一个档案txt,里面有XXXE-10之类的数字,
: 意思就是:例如123E-10=123*10^-10的意思,
: 但在mathematica中E会读成自然常数e,
: 因为数字非常多,不可能一个一个改,想请问有没有人有比较好的解决方法?
: 感谢
利用NumberForm来处理科学符号输出
?NumberFOrm
?ExponentFunction
(* 随机资料 *)
test = N@RandomInteger[{0, 10}, {5, 10}]/6000000
(* 如果资料在正负无穷大之间,不使用科学记号,*)
(* 但是对排版来说不方便的原因是小数点的位数不一 *)
TableForm[
Map[NumberForm[#,
ExponentFunction -> (If[-Infinity < # < Infinity, Null, #] &)] &,
test, {2}]]
(* 不取科学记号,每个数字取十位数字,小数点9位,不到9位的补0 *)
TableForm[
Map[NumberForm[#, {10, 9},
ExponentFunction -> (If[-Infinity < # < Infinity, Null, #] &)] &,
test, {2}]]
您好,我发现我的问题可能不是很聪明,我发现我用:f = OpenRead["来源"]然后 data = ReadList[f, {Number}]就可以了,不过现在有另一个问题,就是:输入的会是{{Number1},{Number2}...{Number3}}不知道有没有办法再旁边多加两个我想要的矩阵元例如:{{Number1,i1,j1},{Number2,i2,j2}...}我会在试试,谢谢您的回答