Pertanyaan pendek: dengan menggunakan jalur SVG, kita bisa menggambar 99,99% dari sebuah lingkaran dan itu muncul, tetapi ketika itu 99,99999999% dari sebuah lingkaran, maka lingkaran itu tidak akan muncul. Bagaimana bisa diperbaiki?
Jalur SVG berikut dapat menggambar 99,99% dari lingkaran: (coba di http://jsfiddle.net/DFhUF/1381/ dan lihat apakah Anda melihat 4 busur atau hanya 2 busur, tetapi perhatikan bahwa jika itu adalah IE, itu adalah diberikan dalam VML, bukan SVG, tetapi memiliki masalah serupa)
M 100 100 a 50 50 0 1 0 0.00001 0
Tetapi ketika 99,99999999% lingkaran, maka tidak ada yang menunjukkan sama sekali?
M 100 100 a 50 50 0 1 0 0.00000001 0
Dan itu sama dengan 100% lingkaran (itu masih busur, bukan, hanya busur yang sangat lengkap)
M 100 100 a 50 50 0 1 0 0 0
Bagaimana itu bisa diperbaiki? Alasannya adalah saya menggunakan fungsi untuk menggambar persentase busur, dan jika saya perlu "kasus khusus" busur 99,9999% atau 100% untuk menggunakan fungsi lingkaran, itu akan agak konyol.
Sekali lagi, kasus uji pada jsfiddle menggunakan RaphaelJS ada di http://jsfiddle.net/DFhUF/1381/
(dan jika itu VML di IE 8, bahkan lingkaran kedua tidak akan menunjukkan ... Anda harus mengubahnya ke 0,01)
Memperbarui:
Ini karena saya membuat busur untuk skor di sistem kami, jadi 3,3 poin mendapatkan 1/3 lingkaran. 0,5 mendapat setengah lingkaran, dan 9,9 poin mendapatkan 99% lingkaran. Tetapi bagaimana jika ada skor yang 9,99 dalam sistem kami? Apakah saya harus memeriksa apakah dekat dengan 99,999% lingkaran, dan menggunakan arc
fungsi atau circle
fungsi yang sesuai? Lalu bagaimana dengan skor 9,9987? Yang mana yang akan digunakan? Sangat konyol untuk mengetahui skor seperti apa yang akan dipetakan ke "lingkaran terlalu lengkap" dan beralih ke fungsi lingkaran, dan ketika itu "99,9%" lingkaran atau skor 9,9987, maka gunakan fungsi busur .