Data bertipe numerik dapat diubah menjadi tipe string dengan menggunakan fungsi str.
>>> str(1)
'1'
>>> str(1.0)
'1.0'
>>> str(1+2j) '(1+2j)'
Python juga memiliki sintaks “%” untuk memberikan kita kontrol yang lebih pada tipe data string. Berikut ini contohnya:
>>> s = "Nilai pi adalah%8.3f" %3.141591
>>> print s Nilai pi adalah 3.142
Angka 8 merupakan jumlah karakter string yang disediakan untuk hasil konversi float tersebut, sedangkan angka 3 menunjukkan jumlah bilangan sesudah koma yang dikonversi dalam string tersebut. Kita juga dapat menghilangkan angka didepan tanda “%” guna menghilangkan spasi. Python tetap memberikan ruang kosong minimum guna penulisan angka yang dikehendaki. Untuk lebih jelasnya coba kalian lihat contoh berikut ini:
print "Nilai pi adalah %.3f."% 3.141591 Nilai pi adalah 3.142
Python juga dapat membuat nilai desimal pada string jika spesifikasi panjang telah kita jabarkan dalam perintahnya. Berikut ini contohnya:
>>> print "%8.3f" % 10. + "\n" + "%8.3f" % 100. 10.000 100.000 |
Untuk membuat angka – angka tersebut menjadi rata kiri, gunakan tanda “-“ sesudah operator “%”.
>>> print "%-8.3f" % 10. + "\n" + "%-8.3f" % 100.
10.000
100.000
Kita juga dapat menempatkan angka 0 didepan bilangan desimal yang diubah menjadi string, melalui cara sebagai berikut:
>>> print "%08.3f" % 100.
0100.000
Python menyediakan banyak cara untuk melakukan pengaturan format tipe float yang diubah ke dalam bentuk string. Selain menggunakan operator “f”, kita juga dapat menggunakan operator “e” untuk mengekspresikan notasi eksponensial. Lihat contoh berikut ini:
>>> print "%10.3e" % 1024.
1.0240e+003
Kita juga dapat melakukan pengaturan integer dalam string dengan menggunakan operator “i” atau “d”. Secara default, Python cenderung melakukan pembulatan ke angka di bawahnya ketimbang melakukan pembulatan secara benar saat mengerjakan operasi ini. Berikut ini contohnya:
>>> print "%i" % 3.7
3
Format eksponensial dapat digunakan secara sama baik pada integer, maupun pada float:
>>> print "%.4e" % 238482
2.3848e+005
Nilai numerik yang berlainan tipe dapat kita format ke dalam satu data string yang sama. Untuk melakukannya kalian tinggal mengikuti format yang telah dijabarkan sebelumnya, kemudian mengakhirinya dengan tanda dalam kurung yang memuat nilai format pertama yang diikuti oleh nilai format selanjutnya. Untuk lebih jelas perhatikan contoh berikut ini:
>>> print "Saya sudah tingkat %i dan IP saya masih %.3f." % (4, 1.83) Saya sudah tingkat 4 dan IP saya masih 1.830.
Nilai sesudah operator “%” sesungguhnya merupakan tipe tuple yang tidak akan kita bahas di sini.
Pada pembahasan nanti, kita akan membahas tipe tuple secara mendetail.
Kita dapat melakukan pemformatan pada nilai string sendiri, dengan menggunakan operator ”s”, seperti berikut ini:
>>> print "Pemilik rumah %.1f kali %.1f ini adalah Widji %s." % (2, 3, "Thukul")
Pemilik rumah 2.0 kali 3.0 ini adalah Widji Thukul.
Jika kita ingin menentukan lebar spesifikasi format dengan menggunakan nilai variabel, maka operator "*" dapat digunakan untuk menggantikan nilai lebar dan integer tambahan, mendahului nilai yang akan diformat dalam tuple berikutnya. Berikut contohnya:
>>> a = 10
>>> print "%0*i" % (a, 12345)
0000012345
Ada kalanya kita membutuhkan tanda “%” untuk dimasukkan dalam data string yang hendak kita tuliskan bersama format tertentu. Pada kasus ini, guna mematikan karakter khusus “%”, kita gunakan tanda “%%”. Untuk lebih jelas perhatikan contoh di bawah ini:
>>> print "Pada %i bungkus nasi padang, terkandung 8%% ganja." %1 Pada 1 bungkus nasi padang, terkandung 8% ganja.