2015-10-22 47 views
0

我想劃分出一個字符串值。可以說我有一組客戶。每位客戶的信件中都有一定數量的工作表。我有兩個字符串變量:字符串的兩位數字劃分

sheetsPerCustomer和totalPagescustomer

目前,它看起來像這樣:

Customer A: 
sheetsPerCustomer = "01" totalPagescustomer "06" // page 1 of 3 
sheetsPerCustomer = "02" totalPagescustomer "06" // page 2 of 3 
sheetsPerCustomer = "03" totalPagescustomer "06" // page 3 of 3 

我必須devide totalPagescustomer的總頁數是3,而不是6,應該是這樣的:

sheetsPerCustomer = "01" totalPagescustomer "03" // page 1 of 3 
sheetsPerCustomer = "02" totalPagescustomer "03" // page 2 of 3 
sheetsPerCustomer = "03" totalPagescustomer "03" // page 3 of 3 

由於如果我將字符串轉換爲整數來除法,所以「0」將不會正常工作。我需要保留左邊的數字,因爲總頁數可以是10,20等,所以我需要兩位數字。有沒有辦法來存檔這個?

+1

問題不清楚 - 你能給出具體的例子來說明你想從上面的例子中得到什麼結果嗎? –

+0

對不起。更新了帖子。 – koffe14

+0

所以你只是想在每種情況下將totalPagescustomer除以2,是的?但是你想保留結果爲2位數字?所以'06'變成'03','10'變成'05','20'變成'10'? –

回答

-1

這裏有一個類似的方法:

#include <iostream> 

using namespace std; 

int main() 
{ 
    char buf[16]; 
    int j = 7; 
    sprintf(buf, "%02d", j); 
    cout << "Result is " << buf << endl; 
    return 0; 
} 

這將打印Result is 07

1

保存你自己的麻煩並使用整數。它使你的意圖更清晰。如果你正嘗試使用類似'int'的東西,那麼也許你應該使用int。

如果再需要顯示2位數字,你可以做這樣的事情:

std::cout << std::setfill('0') << std::setw(2) << sheetsPerCustomer << std::endl;