c kspectrum (http://www.meso-star.com/en_Products.html) - This file is part of kspectrum c Copyright (C) 2008-2015 - Méso-Star - Vincent Eymet c c This file must be used under the terms of the CeCILL license. c This source file is licensed as described in the file COPYING, which c you should have received as part of this distribution. The terms c are also available at c http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt c subroutine num2str2(num,str2) implicit none include 'formats.inc' integer strlen,num character*1 zeroch,kch1 character*2 str2 write(zeroch,11) 0 if ((num.ge.0).and.(num.lt.10)) then write(kch1,11) num str2=zeroch(1:strlen(zeroch)) & //kch1(1:strlen(kch1)) else if ((num.ge.10).and.(num.lt.100)) then write(str2,12) num else write(*,*) 'Error from routine num2str2' write(*,*) 'num=',num,' >= 100' stop endif return end subroutine num2str3(num,str3) implicit none include 'formats.inc' integer strlen,num character*1 zeroch,kch1 character*2 kch2 character*3 str3 write(zeroch,11) 0 if ((num.ge.0).and.(num.lt.10)) then write(kch1,11) num str3=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch1(1:strlen(kch1)) else if ((num.ge.10).and.(num.lt.100)) then write(kch2,12) num str3=zeroch(1:strlen(zeroch)) & //kch2(1:strlen(kch2)) else if ((num.ge.100).and.(num.lt.1000)) then write(str3,13) num else write(*,*) 'Error from routine num2str3' write(*,*) 'num=',num,' >= 1000' stop endif return end subroutine num2str4(num,str4) implicit none include 'formats.inc' integer strlen,num character*1 zeroch,kch1 character*2 kch2 character*3 kch3 character*4 str4 write(zeroch,11) 0 if ((num.ge.0).and.(num.lt.10)) then write(kch1,11) num str4=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch1(1:strlen(kch1)) else if ((num.ge.10).and.(num.lt.100)) then write(kch2,12) num str4=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch2(1:strlen(kch2)) else if ((num.ge.100).and.(num.lt.1000)) then write(kch3,13) num str4=zeroch(1:strlen(zeroch)) & //kch3(1:strlen(kch3)) else if ((num.ge.1000).and.(num.lt.10000)) then write(str4,14) num else write(*,*) 'Error from routine num2str3' write(*,*) 'num=',num,' >= 10000' stop endif return end subroutine num2str10(num,str10) implicit none include 'formats.inc' integer strlen integer*8 num character*1 zeroch,kch1 character*2 kch2 character*3 kch3 character*4 kch4 character*5 kch5 character*6 kch6 character*7 kch7 character*8 kch8 character*9 kch9 character*10 str10 write(zeroch,11) 0 if ((num.ge.0).and.(num.lt.10)) then write(kch1,11) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch1(1:strlen(kch1)) else if ((num.ge.10).and.(num.lt.100)) then write(kch2,12) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch2(1:strlen(kch2)) else if ((num.ge.100).and.(num.lt.1000)) then write(kch3,13) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch3(1:strlen(kch3)) else if ((num.ge.1000).and.(num.lt.10000)) then write(kch4,14) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch4(1:strlen(kch4)) else if ((num.ge.10000).and.(num.lt.100000)) then write(kch5,15) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch5(1:strlen(kch5)) else if ((num.ge.100000).and.(num.lt.1000000)) then write(kch6,16) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch6(1:strlen(kch6)) else if ((num.ge.1000000).and.(num.lt.10000000)) then write(kch7,17) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch7(1:strlen(kch7)) else if ((num.ge.10000000).and.(num.lt.100000000)) then write(kch8,18) num str10=zeroch(1:strlen(zeroch)) & //zeroch(1:strlen(zeroch)) & //kch8(1:strlen(kch8)) else if ((num.ge.100000000).and.(num.lt.1000000000)) then write(kch9,19) num str10=zeroch(1:strlen(zeroch)) & //kch9(1:strlen(kch9)) else write(str10,110) num endif return end