HanGuowei / FlutterStudy

0 stars 2 forks source link

課題4. 本のバーコードをスキャンしてISBN値を元にAmazonの商品ページを表示する #7

Open MinatoIshiwata opened 1 year ago

MinatoIshiwata commented 1 year ago

条件

HanGuowei commented 1 year ago

質問1:OSSを利用すること について、 バーコードスキャン と WebViewを表示するためのライブラリがOSSである場合に利用することですか?

HanGuowei commented 1 year ago

質問2: ISBNについて、 ISBN-10  ISBN‐13 2種類がありそうです。 持っている本(ISBN978-4-860639785 )を確認の結果ですが、 ISBN13です、amazonは ISBN10(https://www.amazon.co.jp/dp/4860639782/)を利用しています。 下記のような(javascript )ISBN13--->ISBN10の転換が必要だと思います。

認識が正しいですか? 

function convertToIsbn10(isbn13) {
    const sum = isbn13.split('').slice(3, 12).reduce((acc, c, i) => {
        return acc + (c[0] - '0') * (10 - i);
    }, 0);
    const checkDigit = 11 - sum % 11;
    const isbn10 = isbn13.substring(3, 12) + checkDigit.toString();
    return isbn10;
}

const isbn10 = convertToIsbn10('9784915512377');
console.log(isbn10); // 4915512371
MinatoIshiwata commented 1 year ago

@HanGuowei

質問1:OSSを利用すること について、 バーコードスキャン と WebViewを表示するためのライブラリがOSSである場合に利用することですか?

はい、認識合っております。

質問2: ISBNについて、 ISBN-10  ISBN‐13 2種類がありそうです。 持っている本(ISBN978-4-860639785 )を確認の結果ですが、 ISBN13です、amazonは ISBN10(https://www.amazon.co.jp/dp/4860639782/)を利用しています。 下記のような(javascript )ISBN13--->ISBN10の転換が必要だと思います。

認識が正しいですか? 

` javascript function convertToIsbn10(isbn13) { const sum = isbn13.split('').slice(3, 12).reduce((acc, c, i) => { return acc + (c[0] - '0') * (10 - i); }, 0); const checkDigit = 11 - sum % 11; const isbn10 = isbn13.substring(3, 12) + checkDigit.toString(); return isbn10; }

const isbn10 = convertToIsbn10('9784915512377'); console.log(isbn10); // 4915512371 `

認識正しいです。