Q
連接兩個整數
3
A
回答
8
下面是一個示例代碼,它可以滿足您的需求。它寫出整數成字符串,修剪和concatenetes它們,然後讀取串聯字符串結果整數
integer :: a,b,c
character(len=99) :: char_a,char_b,char_c
a = 999
b = 1111
write(unit=char_a,fmt=*)a
write(unit=char_b,fmt=*)b
char_c = trim(adjustl(char_a))//trim(adjustl(char_b))
read(unit=char_c,fmt=*)c
print*,c
end
編輯:請注意,這個例子是通用的任何整數長度,假設他們融入各自kind
(沒有整數溢出)。
0
最好的辦法是用internal files將你的兩個整數轉換成一個字符,然後將其轉換回整數。
沒有將數值轉換爲字符/字符串表示的內在過程。有關更多信息,請參閱Fortran Wiki上的this討論(請參閱「註釋」部分)。
舉個例子,你的情況,你可以使用以下命令:
program test_conversion
implicit none
integer :: a=999
integer :: b=1111
integer :: c
character(len=7) :: temp
write(temp, '(i3.3, i4.4)') a, b ! You may need to change these format specifiers
read(temp, *) c
print*, c ! This prints 9991111
end program test_conversion
你將不得不如果你希望你的整數的字符表示的不同寬度改變格式字符串。
2
可以使用的順序號的信息:
integer :: a = 999
integer :: b = 1111
integer :: c
c = a * 10**(ceiling(log10(real(b)))) + b
write(*,*) c
相關問題
- 1. 遞歸連接兩個整數
- 2. 在Mathematica中連接兩個整數7
- 3. 在haskell中連接兩個整數
- 4. 如何將兩個64位整數連接成128位整數?
- 5. 將兩個整數值連接成一個char數組
- 6. 連接兩個數字
- 7. 連接兩個int數組
- 8. 連接兩個數據表
- 9. 連接兩個int數組
- 10. 連接兩個數據庫
- 11. 連接兩個char數組?
- 12. 連接兩個函數Php
- 13. 如何使用宏連接兩個或多個整數?
- 14. 連接兩個表連同數
- 15. 連接兩個Dataframes
- 16. 連接兩個ObjectDataSources
- 17. 連接兩個表
- 18. 連接兩個表
- 19. 連接兩個DB
- 20. 連接兩個data.tables
- 21. 連接兩個dataframes
- 22. 連接兩個表
- 23. 類兩個連接
- 24. 連接兩個表
- 25. 連接兩個表
- 26. 連接兩個表
- 27. 連接兩個表
- 28. 連接兩個類?
- 29. 連接兩個表
- 30. 連接兩個行
線「寫(C,*)溫度」不做你的想法。它會將溫度寫入具有整數c值的I/O單元,而不是寫入c本身。相反,你需要從temp讀取c。 – milancurcic 2012-02-01 16:54:20
這是我的錯字 - 從上面的行復制和粘貼。感謝您指出。 – Chris 2012-02-01 16:56:50
沒問題。出於好奇,我嘗試了ifort,pgf90和gfortran的代碼。奇怪的是,ifort12似乎將temp寫入整數c並打印出來,這不是預期/期望的行爲。 pgf90和gfortran按預期運行,生成fort.gibberish文件作爲輸出。 – milancurcic 2012-02-01 17:00:06