※ 引述《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}...}我會在試試,謝謝您的回答